flask框架基本使用

1.环境的使用  

      mkvirtualenv 1.0_flask -p python3

      workon 1.0_flask

      pip install flask

1-1  第一个helloworld程序

      From  flask import Flask

      App = FLask(__name__, static_url_path = “/static”, static_folder= “/文件夹路径”)

      @app.route(‘/路径’)

      Def abc():

      Return ‘hello world’

      If __name__ == “__main__”:

      App.run(host= “127.0.0.1”, port=5000, debug=True)

2.1启动方式

       Export FLASK_APP=主应用文件夹名称     ——>是将当前变量存放到了临时环境变量中

       终端运行: flask  run     ___>  1.0版本以上才有的

2.2  pycharm环境变量配置:   FLASK_APP  :   主应用文件夹名称

       -m flask run

2.3  python -m flask run

3.加载配置方式:

      3-1配置类  Development()

           App.config.from_object(Development);

      3-2配置文件   settings.py

          App.config.from_pyfile(“配置文件名称”)

      3-3通过环境变量进行配置

          Export  环境变量名= 配置文件路径

          pycharm里面进行配置环境变量,   环境变量名: 配置文件路径

          App.config.from_envvar(‘环境变量名’)

拓展:Echo $环境变量名

4.路由与蓝图

          App.url_map()        ------>   url(路径)-----abc()

蓝图:

          From flask import Blueprint

          lulu = Blueprint(‘uu’, __name__, static_url_path=‘/静态文件路由’, static_folder='static_admin', template_folder= “模板文件”)

          app.register_blueprint(Lulu)

          uu:   他是我们蓝图的名称, 当你打印app.url_map()  ,你可以发现uu这个名字

5.响应

         5-1 渲染模板 render_template()

         5-2 response = make_response()           return response

         5-3 redirect(‘路径”)

         5-4    return  jsonify(字典)

6.请求

         6-1  request.data   请求体

         6-2  request.args   查询参数

         6-3  request.files   文件

         6-4  request.from   表单数据

         6-5  request.cookies  cookie数据

         Request.method   request.headers    

扩展:

dango框架中的请求:   request.GET   request.Post   request.body  request.from

drf中的请求:     request.query_param    request.data

 

7:转换器

           Django  可以通过正则表达式来匹配参数

           Flask  路由里面没有正则,但是有转换器

           @app.route(“/user/<user_id>”)

           user_id  是一个参数, 默认是字符串, 如果不写,那就是默认的字符串转换器,返回一个字符串类型

           @app.route(“/user/<int:user_id>”)

自定义转换器

           from werkzeug.routing import BaseConverter

           Class aaConverter(BaseConverter):

                   Regex = ‘’     #regex表示正则

           app.url_map.converters[aa] = aaConverter

           @app.route(“/user/<aa:user_id>”)

8;cookie与session

cookie:

          Response = make_response()

          Response.set_cookie(‘user’, “lulu”)

          Request.cookies.get(“user”)

session:        

         Secret_key= ‘sdfjsdjf;skdjf;skdjf;sdf’

         From flask import session

         Session[“user”] = “lulu”

9.异常处理:可以在全局里面用,也可以在蓝图里面用。

         Abort(404)

        @app.errorhandler(404)

        Def abc(e):

              return ‘捕获404’

        @lantu.errorhandler(404)

 

       Errorhandler()     捕获异常

       App_errorhandler()    捕获全局异常

10:请求钩子  ---  可以做如厕时的开门操作

假如你如厕时一次请求 request

Before_request    开门,每次做请求的时候

After_request    关门 , 请求完毕之后做的操作

 

Before_first_request   第一次做请求的时候,要做的操作,判断哪个坑位没有人

Teardown_request   销毁一个请求的时候,要做的操作  

扩展:

Django:   corstokenmidwear   这个中间件就是在请求来的时候,拦截,检测你这里有没有csrf_token, 如果有的话,放行,如果没有,报错

10: 上下文

今天我在街上遇见了杨幂,,,,,,,,,,,,,,,,,,,,,,,,

由上文已知,我遇见了杨幂,hjgghkjh ,,,,,,,,,,,,,,,,

请求上下文:  request  session

比如有请求过来,我去做一些操作   request是上文穿过来的数据

应用上下文:  current_app  g   --->   基于一次request请求而存在的,不是一直存在的

App = Flask(__name__)

Current_app  作用等同于    app

 

G:相当于一次请求中的临时仓库,可以存放东西,在一次请求中的可以存放,可以取用。

 

 

<think>好的,用户问的是如何在Flask框架使用它。我需要先回忆一下Flask基本知识,然后组织一个清晰的步骤指南。首先,我应该从安装开始,因为这是使用任何Python库的第一步。然后,创建一个最简单的Flask应用,通常是“HelloWorld”的例子,这样用户能快速看到效果。接下来,可能需要解释路由的概念,比如如何使用@app.route装饰器定义不同的URL端点。然后,处理HTTP方法,比如GET和POST的区别,以及如何在Flask中指定它们。用户可能还想知道如何获取请求数据,比如查询参数、表单数据或者JSON,这部分需要详细说明request对象的使用。 模板渲染也是一个重要部分,应该提到使用Jinja2模板引擎,如何创建模板文件,并通过render_template函数渲染它们。静态文件处理,比如CSS和JavaScript文件的位置,也需要简单说明。然后,可能需要提到一些高级功能,比如重定向、错误处理、使用蓝图来组织更大的应用,以及连接数据库的方法,例如使用Flask-SQLAlchemy扩展。这些内容可以让用户了解Flask的扩展性。在解释过程中,要注意避免过于复杂的术语,保持语言简洁明了。同时,确保提供的代码示例正确且能够运行,比如在示例中包含if__name__ =='__main__':app.run()这样的语句,让用户知道如何启动应用。最后,根据用户的问题,生成相关的后续问题,比如路由定义、模板渲染、处理POST请求、扩展使用等,这样用户可以有进一步学习的方向。检查所有步骤是否覆盖了Flask基本用法,没有遗漏关键点,比如配置、路由、请求处理、模板和静态文件,以及常用扩展。</think>Flask是一个轻量级的Python Web框架,以下是基础使用方法和核心功能实现: 1. 安装Flask ```python pip install flask ``` 2. 基础应用 ```python from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello World!' if __name__ == '__main__': app.run(debug=True) ``` 3. 路由参数处理 ```python @app.route('/user/<username>') def show_user(username): return f'User: {username}' ``` 4. 请求处理 ```python from flask import request @app.route('/login', methods=['POST']) def login(): username = request.form['username'] password = request.form['password'] return f'{username} logged in' ``` 5. 模板渲染 ```python from flask import render_template @app.route('/hello/<name>') def hello(name): return render_template('hello.html', name=name) ``` 6. 静态文件处理 ```html <!-- 在templates目录下创建hello.html --> <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}"> ``` 7. 蓝图模块化 ```python # admin.py from flask import Blueprint admin_bp = Blueprint('admin', __name__) @admin_bp.route('/dashboard') def dashboard(): return 'Admin Dashboard' # 主程序 from admin import admin_bp app.register_blueprint(admin_bp, url_prefix='/admin') ``` 8. 数据库集成 ```python from flask_sqlalchemy import SQLAlchemy app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值