Flask第一天-flask简介、及基本操作认识

1. Django Web框架

    优点:大而全,Froms Admin model ......
    缺点:浪费资源

2. Flask Web框架

    优点:短小精悍,session(存放在cookies),三方组件强大
    缺点:运行稳定性较差,你还不会   


三行代码:

from flask import Flask
app = Flask(__name__)
app.run()


六行视图函数:

@app.route("/index") # 路由
def index(): # 视图函数
    return "Hello OldBoy EDU" # Django HttpResponse

response三剑客:

httpresponse: return "hello" 
jsonify({k:v})

render_template : 
    先导入再 return 
    templates 是模板的默认存放路径

redirect:
    先导入再 return redirect("/login")

send_file():
    先导入再 return send_file(打开文件并返回)

request:

    args url地址当中的参数
    form POST请求体中的FormData中的数据
    values 获取所有参数(url,formdata)
    request.data content-type:jinwangbayinwangbabiwushangzanjiadelaowangba  b"{username:jinwangba}"
    request.json content-type:application/json 将数据序列化字典中
    request.files 获取Formdata中的文件
    jwbdf = request.files["jinwangbadefile"]
    jwbdf.save(jwbdf.filename)

    属性类的:

    method 请求方式
    url 完整地址
    host 前半段儿 http://111.111.111.111:5000/
    path 后半段儿 /login

模板语言:

    Jinja2        
    {{  }}  非逻辑代码
    {%  %}    逻辑代码

路由:

    methods=["POST","GET"]
    endpoint="反向url地址"
    url_for("反向url地址")
    defaults={"nid":10}
    动态路由参数/index/<int:arg>
                url_for("endpoint",arg=123)

Flask的配置

    1.Flask实例化配置

        static_folder = 'static',  # 静态文件目录的路径 默认当前项目中的static目录
        static_url_path = None,  # 静态文件目录的url路径 默认不写是与static_folder同名,远程静态文件时复用
        template_folder = 'templates'  # template模板目录, 默认当前项目中的 templates 目录

    2.Flask对象配置

        'SECRET_KEY': None,  # 之前遇到过,在启用Session的时候,一定要有它
        'SESSION_COOKIE_NAME': 'session',  # 在cookies中存放session加密字符串的名字
        'JSONIFY_MIMETYPE': 'application/json'
        
        class FlaskConfigDebug(object):
            DEBUG = True
            SECRET_KEY = "DragonFire"


        class FlaskConfigTesting(object):
            TESTING = True
            SECRET_KEY = "DragonFire"
        
        app.config.from_object(FlaskConfigDebug)

Flask蓝图(Blueprint)
    蓝图就是另一种形式的Flask实例

        detail_blueprint = Blueprint("serv",__name__, template_folder="serv_temp",
                             static_folder="serv_static",
                            static_url_path="/serv_static",url_prefix="/servs")

Flask特殊装饰

    @app.template_folder() 类偏函数的方法
    @app.template_global() 全局函数
    @app.errorhandler(405)
    def my_405(args)
    
    @app.before_request
    def be1():
        return None 是继续
        return not None 是中断 

    @app.after_request
    def af1(res):
        return res 
        
    # be1 - be2 - af2 - af1
    # be1 - af2 - af1 

Flask中的session

    app.config["SECRET_KEY"] = "asdfasdfasdf"

Flask中的 CBV

    class Login(views.MethodView):
        def get(self):
            return render_template("template.html")

        def post(self):
            username = request.form.get("username")
            password = request.form.get("password")
            if username == "yinwangba" and password == "jinwangba":
                return "登录成功"

            return render_template("template.html",msg="登录失败滚吧")

    app.add_url_rule("/login",endpoint=None,view_func=Login.as_view(name="login"))

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值