zoukankan      html  css  js  c++  java
  • Flask学习笔记(二)

    (一)web服务器框架

     

    (二)flask是轻量级的web框架

    (1)变量代码块:

    ①注释:{# #}
    #默认只支持GET,其他的需要指定
    @app.route('/',methods=['GET','POST'])
    def index():
    #比如需要传入网址
    url_str = 'www.baidu.com'
    my_list = [1,3,5,7,9]
    my_dict = {
    'name':'1111',
    'url':'www.baidu.com'
    }
    #通常模板中使用的变量名和要传的变量名一致
    #模板引擎
    return render_template('index.html',url_str=url_str,my_list=my_list,my_dict=my_dict)
     ③

      {# 变量代码块: #}

    {{ url_str }}<br>
    {{ my_list.2 }}<br>
    {{ my_dict['url'] }}<br>

    (2)控制代码块:

    {% %}先输入关键字按Tab补全格式

    (3)过滤器

    变量和过滤器

    JinJia2可以识别所有类型变量,如:

    {{ MyList[1] }}

    {{ MyObj.test() }}

    Jinja2还提供了过滤器用于修改变量

    用法:

    变量名|过滤器{{ name|uppr }}
    PS:过滤器支持链式调用


    (4)WEB表单
    request:请求对象-->获取请求方式、数据
    获取请求的参数:
    request.form.get(对应的name)
    (5)flash动态数据传递(需要对数据加密scret_key)
    html通过
    get_flashed_messages()获取数据
    (6)使用WTF实现表单
     

    python部分:

    class LoginFrom(FlaskForm):
    testdata = StringField ('测试数据')
    submit = SubmitField('提交')

    @app.route('/form',methods=['GET','POST'])
    def login():
    login_form = LoginFrom()
    return render_template( 'index.html',form=login_form )

    html部分:

    <form method="post">
    {{ form.testdata.label }}{{ form.testdata }}
    {{ form.submit}}
    </form>

     

    validate_on_submit()可以一次验证,html需加上:form.csrf_token()


    参考:https://www.cnblogs.com/zydev/p/8911682.html

    jinja2手册http://docs.jinkan.org/docs/jinja2/templates.html#builtin-filters


  • 相关阅读:
    提高github下载速度
    小程序兼容问题
    求斐波拉契数列第n位算法优化
    并发编程:ThreadLocal
    MySQL:常见面试题
    2.1语法基础_表达式目录树(EF底层原理的实现)
    ajax发送post请求:
    投资是普通人摆脱阶层固化的唯一靠谱方式
    人脸识别之Python基于OpenCV
    搜索算法“一二”基于VSCode平台C#语言
  • 原文地址:https://www.cnblogs.com/XxZzYy/p/12569300.html
Copyright © 2011-2022 走看看