Flask框架详细教程

首先,创建一个Flask的项目,在选择编译环境的时候,可以选择新建一个虚拟的编译环境,关于创建虚拟环境,以前写过一篇博客,需要的可以参考:(4条消息) python搭建虚拟环境_Kisskiss_v的博客-CSDN博客_python虚拟环境搭建

Flask框架详细教程_第1张图片

 再项目路径下面新建两个文件夹,一个static用于存放静态文件,默认情况下网站所用到的静态文件资源全部存放到static文件夹下,然后再static文件夹下面还可以创建其他文件夹,将css,js文件区分开来,为了更好的管理文件。

templates模板文件,也就是html文件,需要放到templates文件夹中。 当然在'Flask(__name__,template_folder)'可以来修改模板的 地址,但是不推荐。通过'render_template'来渲染模板。如果想要传递变量到模板中,可以把变量定义成字典,然后在 'render_template'中,通过关键字参数的方式传递过去。'render_ template('',**context)'

在app.py中:

from flask import Flask, jsonify, request, redirect, url_for,render_template
from . import  config

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

# 所有的配置项都放在config中
app.config.from_object(config)

names = [{"id": 1, "name": "jack"},
         {"id": 2, "name": "rose"},
         {"id": 3, "name": "Chris"},]


#app.route:设置访问的url,这里设置成一个根路径
@app.route("/name/list/")
def book_list():
    return jsonify(names)


# 1.如果只是需要从服务器上获取数据,一般都是用GET请求
# 2.如果前端需要把数据发送给服务器,一般用POST请求
# 3.在@app.route上,添加methods参数,这个参数是一个列表类型,可以传递多个


@app.route("/name/", methods=['GET', 'POST'])
def name_detail(name_id):
    for name in names:
        if name_id == str(name["id"]):
            return name
    return f"{name_id}的姓名没有找到!"


@app.route("/profile")
def profile():
    #参数传递的两种形式:
    #1.作为url的组成部分:/name/1
    #2.查询字符串:/book?id=1
    user_id=request.args.get("id")
    if user_id:
        return "用户个人中心"
    else:
        # 重定向到index函数的路径下
        return redirect(url_for("index"))


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




config.py:

# Flask中的所有配置项都是大写字母
JSON_AS_ASCII=False

base.html根模块,后面的index.html引用的该模块渲染的页面




    

    {% block title %}{% endblock %}
    {% block head %}{% endblock %}




{% block body %}{% endblock %}

i am footer

在其他的html模板文件中使用{% extends "base.html"%}将跟文件引入,就可以直接使用模板的元素


{% extends "base.html"%}


{% block title %}

    my homepage
{% endblock %}

{% block head %}
    
{% endblock %}

{% block body %}
    

i am homepage

{% endblock %}

flask运行程序的几种方式:

1、在app.py可以直接运行程序

2、在控制台输入命令:python app.py

3、官方推荐:

$ export FLASK_APP=app.py

$ python -m flask run --host=0.0.0.0

 在windows上的是set而不是export

4、在控制台输入如下指令:

python manager.py shell

app.run(host=0.0.0.0)

如有错误望指正,谢谢~

你可能感兴趣的:(flask框架,flask,python,后端)