zoukankan      html  css  js  c++  java
  • 补充flask基础

    自己创建一个SQLHelper

    import db_conn

    import pymysql

    def open_conn():

        conn = db_conn.POOL.connection()

        cur = conn.cursor(pymysql.cursors.DictCursor)

        return conn,cur

    def close_conn(cur,conn):

        cur.close()

        conn.close()

    def select_all(sql,arg):

        conn,cur = open_conn()

        cur.execute(sql,arg)

        res_list = cur.fetchall()

        close_conn(cur, conn)

        return res_list

    def insert_help(sql,arg):

        conn, cur = open_conn()

        cur.execute(sql,arg)

        res = conn.commit()

        close_conn(cur, conn)

        return res

    昨日回顾:

    1.创建Flask实例 第一Hello

    from flask import Flask

    app=Flask(__name__,static_folder=,static_url_path,templates_folder=)

    @app.route("/",methods=["GET","POST"],endpoint="comeonbaby",strict_slashes=False)

    def index():

    return HelloOldBoyEDU

    app.run()

    2.static_folder 静态文件存放路径 static

    static_url_path, URL访问静态文件路径 /static

    templates_folder 模板存放路径 templates

    蓝图中也可以使用以上配置

    3.应用配置

    app.DEBUG = True

    app.secret_key = "xxxx"

    app.config.from_object("setting.FlaskSetting")

    setting.py:

    class FlaskSetting(object):

    DEBUG = True,

    secret_key = "xxxx"

    4.路由系统

    访问路径:"/"

    methods: 允许当前访问地址的请求方式,默认GET ,["POST"]

    endpoint: 反向地址索引

    strict_slashes : False结尾可以为 "/"  True 不可以

    <int:nid> : 动态参数路由,指定了数据类型,只要不符合要求,就不会进入当前视图 def index(nid)

    unexpected keyword argument 'nid'

    defaults :路由默认参数 {k1:v1} def index(k1)

    5. HttpResponse : return "hello"

    render_template : return render_template("index.html") 

    redirect : return redirect("/index")

    以上三剑客必须,从flask中导入

    6.request : 导入方式

    request.from : post 方式提交通常情况

    request.args : GET 方式请求url参数

    request.files: POST提交的FormData 中带有file

    request.method : 请求的方式

    request.path(类) : url相关 , 路径相关

    request.json : application/json 数据头

    request.data :无数据头或数据头不被认可

    request.headers :请求头信息

    request.values : to_dict 坑 GET 覆盖 POST

    request.cookies: 获取浏览器cookie

    7.Flask中的Jinja2

    for {% for i in list %} {% endfor %}

    if {% if 条件 %} {% elif %} {% else %} {% endif %}

    list[0] list.0

    dict.key dict[key] dict.get(key)

    |safe Markup 安全字符串

    @app.template_global()

    def a_b(a,b)

    @app.template_filter()

    def a_b(a,b)

    1|a_b(2)

    {% block content %}

    {% endblock %}

    include

    {% marco func(a) %}

    {% endmacro %}

    8.session: app.secret_key="xxx"

    9.蓝图(Blueprint)

    lu = Blueprint("lu",__name__,初始化配置)

    @lu.route("/lu")

    def lus()

    app.register_blueprint(Blueprint.lu)

    10. before_request after_requst before_frist_request errorheadler(404)

    before_request : 请求之前做处理,比如methods的请求方法

    after_requst : 视图函数返回后做处理

    before_frist_request : 第一次请求之前做处理

    errorheadler : 定义错误信息 def error_page(error_massage)

    11. flash 导入

    flash("message")

    get_flashed_messages() 导入

    一存放,一提取,消失

  • 相关阅读:
    标签最低高度设置minheight不兼容
    字体综合属性(font)写法顺序为
    让IE6、IE7、IE8支持CSS3的圆角、阴影样式
    微信小程序3D轮播图
    微信小程序左滑删除
    android ble 蓝牙4.0开发日志(四)
    Windows邮件服务器hMailServer,网页前端访问平台Webmail搭建
    邮件服务器hMailServer管理工具hMailServer Administrator汉化
    蓝牙设计
    Windows下搭建免费、开源的邮件服务器hMailServer
  • 原文地址:https://www.cnblogs.com/maojiang/p/9518021.html
Copyright © 2011-2022 走看看