zoukankan      html  css  js  c++  java
  • flask框架

    socket:a

    模板:b

    路由:c

    Django:b,c

    flask:c,a可以使用其他的wsgi协议的第三方库

    用于接收http请求并对请求进行预处理,然后触发flask框架

    如果需要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理

    pymysql,第三方orm框架

    简单的flask:

    from flask import Flask

    app = Flask(__name__)
    app.debug = True # 调试模式

    # 配置路由,flask路由基于装饰器
    @app.route('/')
    def index():
    return "hello world"

    if __name__ == '__main__':
    app.run()

    werkzeug作为一个web框架的底层库,例如request,response

    from werkzeug.wrappers import Request,Response

    @Request.application
    def hello(request):
    return Response("hello")


    if __name__ == '__main__':
    from werkzeug.serving import run_simple
    run_simple('localhost',4000,hello)

    301和302的区别?

    301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。


    302 Found 请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。

    字面上的区别就是301是永久重定向,而302是临时重定向。 当然,他们之间也是有共同点的,就是用户都可以看到url替换为了一个新的,然后发出请求。

    装饰器执行的流程:

    v = app.route()

    v(函数)

    配置文件:app.config.from_object("python类或类的路径")

    app.config.from_object('pro_flask.setting.Testingconfig')

    settings.py

    request.method   请求方式

    args  get形式提交的参数

    form    post形式提交的参数

    values     元祖

    path      

    full_path

    script_root

    url

    base_url

    url_root

    host_url

    host

  • 相关阅读:
    java 类加载器的委托机制
    java 类加载器
    java 泛型
    java 注解(Annotation)
    java 内省综合案例和Beanutils工具包
    java 内省 了解JavaBean
    Java中的接口
    hdu 1853 Cyclic Tour 最大权值匹配 全部点连成环的最小边权和
    extjs fileuploadfield default value
    linux程序设计——套接字选项(第十五章)
  • 原文地址:https://www.cnblogs.com/xuezhihao/p/11382750.html
Copyright © 2011-2022 走看看