【Flask框架】一. Flask框架初体验(配置环境 + 简单demo样例)

一. Flask框架初体验(配置环境 + 简单demo样例)

虚拟环境

建议新建一个专门用来使用Flask框架的虚拟环境。防止各种库之间的版本冲突。

新建项目

选择新建flask项目。
在这里插入图片描述

至此,一个简单的页面 Hello World! 就形成了。

将Pycharm改为FLASK_DEBUG模式

为了以后使用的方便,将Pycharm改为FLASK_DEBUG模式。

改成FLASK_DEBUG模式是防止:浏览器更新不及时,仍旧是上次响应的问题。

修改FLASK_DEBUG模式的步骤

在这里插入图片描述
在这里插入图片描述

配置文件

由于项目不断丰富,为了实现高内聚、低耦合,新建 config.py,将所有的配置项放到 config.py 中。

config.py 文件内容如下:

# flask的配置项目,名字都是大写字母
JSON_AS_ASCII = False

简单用法

URL_FOR

反转 ,通过函数名来得到URL。

扫描二维码关注公众号,回复: 14371253 查看本文章

redirect(url_for("index")):重定向到 index()函数的页面。

重定向

使用redirect()函数,里面一般使用url_for()函数得到重定向之后的URL。

指定Http方法

可以在@app.route()里面添加参数项methons=['GET','POST']

  1. 如果只是需要从服务器上获取数据,一般都是用GET请求
  2. 如果前端需要把数据发送给服务器,一般用POST请求

完整代码

app.py

from flask import Flask, url_for, jsonify, request, redirect

import config

# 使用Flask创建一个app对象,并且传递__name__参数
app = Flask(__name__)

# 加载配置文件
app.config.from_object(config)

books = [
    {
    
    "id": 1, "name": "三国演义"},
    {
    
    "id": 2, "name": "水浒传"},
    {
    
    "id": 3, "name": "红楼梦"},
    {
    
    "id": 4, "name": "西游记"}
]


# 1. 如果只是需要从服务器上获取数据,一般都是用GET请求
# 2. 如果前端需要把数据发送给服务器,一般用POST请求
# 3. 在@app.route上,添加methods参数,这个参数是一个列表类型,可以传递多个。
@app.route('/book/<int:book_id>', methods=['POST', 'GET'])
def book_detail(book_id):
    for book in books:
        if book_id == book['id']:
            return book
    return f"id为:{
      
      book_id}的图书没有找到!"


@app.route("/book/list")
def book_list():
    for book in books:
        book['url'] = url_for("book_detail", book_id=book['id'])
        print(book['url'])
    return jsonify(books)


@app.route("/profile")
def profile():
    # 参数传递的两种形式:
    # 1. 作为url的组成部分:/book/1
    # 2. 查询字符串:/book?id=1

    # 查询参数是否有id
    user_id = request.args.get("id")
    if user_id:
        return "用户个人中心"
    else:
        # 重定向到主页面
        return redirect(url_for("index"))


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


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

猜你喜欢

转载自blog.csdn.net/qq_44824148/article/details/122908553