zoukankan      html  css  js  c++  java
  • flask常用知识点(不知道今天写,多久还记得)

    app.route()装饰器可以确定把装载在哪个url上

    from flask import Flask

    app = Flask(name)

    @app.route('/')
    def hello_word():
    return 'Hello World'

    if name == "main":
    app.run()
    # 或者可以使用
    app.run(host='0.0.0.0',port=900) # 指定端口

    render_template实现模板渲染

    通过把要加载的模板文件和参数传给该方法,即可实现HTML的自动渲染
    当然,一个函数也可以通过多个route()装饰器绑定到多个URL上

    一般所有的模板文件都保存在templates文件夹下

    Markup转换变量中的特殊字符

    有些特殊字符,如(<、>、空格、/等),会被HTML客户端(浏览器)解释成特殊含义。
    这时候,我们可以通过Markup()函数将这些字符串做转义处理,然后传给render_templates()函数。

    重定向和错误处理

    重定向(Redirect)是指将一个网络请求重新指定URL并转到其他地址的技术。
    如果想中止一个请求并返回错误,而不是重定向到其他地址,则可以使用abort();直接在函数中使用abort(400) # 400是标准的HTTP请求错误,其含义为请求无效
    当然,abort()函数仅仅为客户端返回400错误,并没有返回自定义的处理界面,这时候可以添加一个
    errorhandler()装饰器用来捕获错误,并在下方添加函数用来定义捕捉错误的界面

    带变量的路由

    可以直接在url参数中定义相关的变量,用一对<>这样的括号包括写在@app.route()装饰器内即可。括号里面参数可以使用到return中,以及render_templates中。两次使用的参数必须相同

    url中的结尾

    url中结尾通常分为有斜杠和无斜杠;
    结尾有斜杠输入url访问时结尾有无斜杠均可访问。
    结尾无斜杠,输入url访问时,一定要无斜杠,不然,有斜杠的话就无法访问到页面

    HTTP方法绑定

    在flask中,路由默认使用get方法进行路径访问。
    通过修改route中的参数method,他是一个列表,里面的参数是字符串,所以哪些字符串就是get,post,put等方法。
    在装饰器下方的函数中通过request.method=='某个方法,就可以进行其他的操作'
    注意:request是Flask框架的一个全局对象,可以获得很多HTTP请求的客户端相关的信息。

    路由地址反向生成

    url_for()函数来实现这个功能。该函数是单独的,并没有写在装饰器函数之内。url_for函数的第一个参数是需要获取URL的函数名,URL中如果有变量,可以在url_for中添加参数来实现对变量的赋值。

    使用这个函数的原因

    1.反向解析比硬编码有更好的可读性和可维护性。比如,当需要更换路由函数中URL的地址时,无须再更改和调用url_for处的代码。
    2.url_for会自动处理必须的特殊字符转换和Unicode编码转换。如空格就会自动解析为20%.

    会话上下文

    是Web服务器上基于Cookie的对象,它提供了为同一个客户端在多次请求之间共享信息信息的方式。
    在Web环境中,会话(Session)是一种客户端与服务器保持状态的解决方案。同一用户的多个请求共享同一个会话
    会话通常通过Cookie来实现:
    在flask框架中使用flask.session对象操作会话
    注意:flask.session对象只有在请求的处理环境中才能被调用

    flask.session对象还维护自生的状态

    new:判断本次请求的Session是否是新建fied:的
    modified:判断本次请求中是否修改过session键值

    应用全局对象

    一般应用在:多个响应函数之间共享数据;
    可以通过flask.g来实现。

    请求上下文

    请求上下文主要是在服务器端获得从客户端提交的数据

    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    2018-2019-20172329 《Java软件结构与数据结构》第八周学习总结
    2018-2019-20172329 《Java软件结构与数据结构》第七周学习总结
    20172324 2018-2019-1《程序设计与数据结构》课程总结
    选择困难症的福音——团队Scrum冲刺阶段-Day5(补发 那天csshow)
    IG—金字塔
    选择困难症的福音——团队Scrum冲刺阶段-Day 7
    选择困难症的福音——团队Scrum冲刺阶段-Day 4
    哈夫曼编码测试
    选择困难症的福音——团队Scrum冲刺阶段-Day 3
    选择困难症的福音——团队Scrum冲刺阶段-Day 2
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15376901.html
Copyright © 2011-2022 走看看