zoukankan      html  css  js  c++  java
  • Flask基础总结

    Flask 基础总结
    1.Flask优点: 拥有强大的第三方组件小而精非常全面,不足就是更新太快
    2.Flask中的三剑客: HTTPRespone   redierct   render_template
    3.Flask中的request 首先要明确他与django不同的就是这里的request是引入的详细追究就要看flask中的上下文
    4.request中的内容有: 
        request.method : request 中提供之前在method中的前端请求方式
        request.form  : Form表单中传递过来的值
        request.args  : url 中传递的参数
        request.values: 所有的参数
        request.cookies: 是将cookies中的信息读出来
        request.headres:  是将请求头中的信息全部读出
        request. data  :  data中有所有处理不了的信息全部以Bytes形式放在里面 与django中国的request.body很相似
        request.files  : 存放你的是你上传的文件
        request.json   : 毋庸置疑请求中如果写了application/json 那么会直接返回json解析的数据
    5.Falsk中的模板渲染语句jinja2   有两种{%  %} {}
        for 循环
        {%for foo in g %} 
        {% endfor %}
        if  语句
        {% if g %}
        {% elif g %}
        {% else %}
        {% endif %}
        {  } 传递字典中的参数
    6.jinja2 的高阶用法
        safe: 类似与django中的过滤器一样  如果需要给前端传递的是一段HTML语句Flask会检测到并且阻止不去解析渲染,但是如果用safe就会安全的传输
        用法: {{ tag | safe}}
    7.模板的继承 block在需要继承的地方加入{% block content %}    {% endblock %}在需要继承的页面中加入    {% extends "index.html" %}需要变换的内容{% endblock %} 
        还可以直接在继承的新页面里加入想要继承的页面比如:{% include "login.html" %}
    8.jinja2中的宏定义:
        {% macro type_text(name,type) %}
        <input type="{{ type }}" name="{{ name }}" value="{{ name }}">
        {% endmacro %}
        
        <h2>在下方是使用宏来生成input标签</h2>
    
        {{ type_text("one","text") }}
        {{ type_text("two","text") }}
    
    一般用的较少有个记忆就可以
    9.Flask中的session是secret_key键值对储存在本地cookies中的session
    10.Flask中的路由 是用装饰器写的里面有很多的参数需要你了解    
        @app.route() 装饰器中的参数
        @app.route("/login" methonds=["GET","POST"])定义此路由的请求方式是get和post默认不写时为get
        @app.route("/login" mehonds=["GET","POST"],endpoint="r_info")  反向url地址
        @app.route("/login" methonds = ["GET,"POST"],defaults={"nid"}:100)}  此参数的意思为在一下的函数中默认传递的参数是“nid”:1
        @app.route("/login" methonds = ["GET,"POST"],strict_slashes=True)}  此参数的意思为utl地址栏中的结尾符号/  当参数为True就必须存在,如果是False就可以不加(然并卵)
        @app.route("/login", strict_slashes=True, redirect_to="/infos")    意为访问login时跳转到/infos的页面中
        @app.route("/login",subdomain="little")  子域名的前缀加上一个little   little.baidu.com/login      (很少用)
        @app.route("/login/<int:nid>", methods=["GET", "POST"], endpoint="r_info")   动态路由  很实用
    11.实例化Flask参数太多记住几个就可以
        app.config[“DEBUG”]=True  意为每次跟新的时候自动重启
        static_url_path = None,  # 静态文件目录的url路径 默认不写是与static_folder同名,远程静态文件时复用
        template_folder = 'templates'  # template模板目录, 默认当前项目中的 templates 目录
        因为参数是实在是太多所以可以直接写成一个类在调用的时候直接调用类就可以了
    12.蓝图
        蓝图中的基本目录: static  templates  views  manager.py
        
  • 相关阅读:
    西服定制_男装定制_礼服定制【乐裁】专业首选的全国西服定制商城
    简介 | 北京大学校友创业联合会
    脱颖而出_百度百科
    时装剧
    高龄“潮男”优衣库老板柳井正_榜样_奢华主义_YOKA时尚网
    [女装纸样] 《无私奉献》:看数据知道人的体型--看身高体重知道人体数据---个人绝技不断更新
    瑞邦洋服·私人定制 » 瑞邦头等舱
    爱上MVC~AuthorizeAttribute验证不通过如何停止当前上下文
    Js~(function(){})匿名自执行方法的作用
    Js~动态判断PC和手机浏览器
  • 原文地址:https://www.cnblogs.com/RootEvils/p/10397342.html
Copyright © 2011-2022 走看看