FLASK的基础

1.导入flask

  from flask import Flask  #导入所需要的包

  app = Flask(__name__)  #实例化对象

  @app.route('/hello')  #装饰器route 根目录

  def hello():

    return 'hello world'

  @app.route('/index')

  def index():

    return '你好'

  #启动flask函数

  if __name__=='__main__':

    app.run()

2.路由:

    指将Web请求映射到处理这些请求的Python函数的过程。每个路由由一个URL规则和一个与之关联的视图函数组成。当用户访问一个特定的URL时,Flask会根据这个URL找到对应的视图函数,并执行该函数来生产响应。

3.app.run() 是Flask提供的一个方便的方法,用于在本地启动一个开发服务器。这个服务器主要用于开发和测试,并不适合生产环境。通过将其放在if __name__ =='__main__':块中,你可以通过运行Python脚本启动服务器,而无需创建额外的启动脚本。

4.methods

  HTTP协议定义了几种请求方式(也称为“动作”或“命令”),用于指定客户端(如浏览器)希望服务器对请求的资源执行的操作。在Web开发中,最常用的HTTP方法包括:

  GET:请求从指定的资源获取数据。GET请求应该只被用于读取数据,而不应该产生任何副作用(即,不应该修改服务器上的任何数据)。从服务器获取数据,不改变任何数据

  POST:向指定的资源提交数据以进行处理(例如,提交表单数据以进行存储)。POST请求通常用于创建或更新服务器上的资源。向服务器发送数据,可能会改变数据

  PUT:向指定资源位置上传其最新内容(全部内容,而不仅仅是修改的部分)

  DELETE:请求服务器删除指定的资源

5.request对象:

  方法(Method):

          request.method:获取请求方法(GET,POST等)。

  路径和URL:

        request.path:获取请求的路径部分(不包含域名和查询字符串)

        request.full_path:获取完整的请求URL,包括查询字符串

        request.url:获取完整的请求URL,包括域名、路径和查询字符串

        request.base_url:获取请求的URL,但不包括查询字符串

        request.url_root:获取应用的基础URL,即应用的根URL

        request.host_url:获取应用的主机URL(包括端口号,如果有的话)

        request.script_root:获取应用的脚本跟URL

6.request.args:获取URL中的查询字符串参数,返回的是一个MultiDict对象,类似于字典,但允许一个键对应多个值。

7.request.form:获取POST请求中的表单数据,同样返回的是一个MultiDict对象

8.request.values:结合了request.args和request.form中的数据,按照优先级(表单数据优先于查询字符串参数)进行合并。

9.request.get_json():尝试从请求体中解析JSON数据,如果请求体中包含JSON数据,则返回解析后的Python对象

10.重定向(redirect):

  app=Flask(__name__)

  @app.route('/index')

  def index():

    return redirect('https://www.baidu.com')

  if __name__ =='__main__'

    app.run()

  重定向是一种HTTP响应,用于将用户从当前URL引导到另一个URL。这通常用于表单提交后的页面跳转、登录后的页面跳转、或者当用户尝试访问需要权限的资源时被重定向到登录页面等场景。

11.url_for 函数:

  @app.route('/index')

  def index():

    return redirect(url_for('find'))

  @app.route('/find')

  def find():

    return 'this is find'

  if__name__=='__main__':

    app.run()

  url_for()是Flask提供的一个非常有用的函数,它可以根据视图函数的名称和参数动态生成URL。这样做的好处是,即使你的路由URL结构体发生变化,只要视图函数名称不变,使用url_for()生产的URL也会自动更新,从而避免了硬编码URL的问题

 

posted @ 2024-12-07 22:25  慎·独  阅读(42)  评论(0)    收藏  举报