1、首先安装 Flask Flask-WTF schedule库

         方法:pip install Flask Flask-WTF schedule

        Flask Flask-WTF schedule库介绍:  Flask 是一款简洁而灵活的Python Web框架,广泛应用于构建各种类型的Web应用程序

2、 Flask基础用法

(1)创建一个简单的flask应用

        from flask import Flask

        app = Flask(__name__)

        @app.route('/')         def home():             return 'Hello, Flask!'

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

(2)运行运用

        python your_app_name.py

访问 http://127.0.0.1:5000/ 就能看到 'Hello, Flask!'。

(3)创建更复杂的路由

知识补充:

在Flask中,路由定义了用户访问Web应用时,不同URL路径应该触发的不同处理函数。简而言之,路由将URL映射到相应的处理函数,从而决定了用户访问特定路径时应该执行哪些代码。

在Flask中,通过使用@app.route()装饰器来定义路由。这个装饰器告诉Flask应用程序,当用户访问指定的URL路径时,应该执行下面的函数。

@app.route() 还支持一些可选参数,如下:

methods: 指定允许的HTTP请求方法,默认为['GET']。例如,methods=['GET', 'POST']表示这个路由可以处理GET和POST请求。 defaults: 一个字典,用于指定参数的默认值。例如,defaults={'id': 1} 表示如果请求中没有提供id参数,那么id将默认为1。 strict_slashes: 如果为True(默认值),在URL结尾有斜杠时,Flask会自动重定向到没有斜杠的路径。如果为False,Flask会保留原始路径。例如,/example/将重定向到/example(如果strict_slashes=True)。 endpoint: 为路由指定一个唯一的名称,以便在应用中其他地方引用。默认情况下,Flask使用函数的名称作为端点。例如,endpoint='custom_endpoint'。

        Flask中的路由是定义在URL上执行的函数。例,你可以创建一个动态路由:

# app.py

from flask import Flask

app = Flask(__name__)

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

@app.route('/user/') def show_user_profile(username):     return f'User {username}'

详细解释:

# app.py

from flask import Flask  #导入Flask类,这是构建Web应用程序的核心

app = Flask(__name__) # 创建一个Flask应用实例。__name__参数用于确定应用程序的根路径。

@app.route('/')  #定义一个路由,表示当用户访问根路径("/")时,将执行下面的hello_world函数 def hello_world():  #定义了一个名为hello_world的函数,该函数返回一个简单的字符串 "Hello, World!"。     return 'Hello, World!'

@app.route('/user/')

#定义另一个路由,表示当用户访问形如 "/user/xxx" 的路径时,将执行下面的show_user_profile函数,其中 是一个动态参数,它将传递给show_user_profile函数。

def show_user_profile(username):  #定义了一个名为show_user_profile的函数,该函数接收一个username参数,然后返回一个包含用户名称的字符串。     return f'User {username}'

在这个例子中,访问http://127.0.0.1:5000/user/john将显示 "User john"。

这个简单的应用程序有两个路由:一个是根路径("/"),返回 "Hello, World!";另一个是 "/user/xxx",其中 "xxx" 是动态的用户名,返回 "User xxx"

(4)添加模板(默认情况下,Flask使用Jinja2作为模板引擎。你可以在Jinja2的官方文档中找到有关模板语法和功能的详细信息https://jinja.palletsprojects.com/en/3.1.x/templates/)

        Flask支持使用模板引擎渲染动态内容。创建一个名为templates的文件夹,并在其中添加一个HTML文件,例如index.html

                Flask App    

Hello, {{ name }}!

然后,在Flask应用中使用模板:

# app.py

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/') def hello_world():     return render_template('index.html', name='World')

在Flask中,render_template是一个用于渲染HTML模板的函数。它允许你将动态生成的数据嵌入到HTML文件中,以便最终在用户的浏览器中呈现。

(5)处理表单提交

        Flask可以轻松处理HTML表单的提交。首先,创建一个包含表单的HTML页面

                Flask Form    

                       
           

然后,在Flask应用中处理表单提交:

# app.py

from flask import Flask, render_template, request

app = Flask(__name__)

@app.route('/') def home():     return render_template('form.html')

@app.route('/process_form', methods=['POST']) def process_form():     username = request.form['username']     return f'Thank you, {username}!'

''''''

@app.route('/'): 当用户访问根路径("/")时,执行home函数,该函数通过render_template将一个名为'form.html'的模板渲染并返回。这通常用于显示一个包含表单的页面。 @app.route('/process_form', methods=['POST']): 当用户通过POST请求访问路径"/process_form"时,执行process_form函数。这个路由通常用于处理表单提交。函数使用request对象获取通过表单提交的数据,具体来说是获取名为'username'的表单字段的值。然后,它返回一条包含感谢消息和用户名的字符串。

整体流程:

用户访问根路径,看到包含表单的页面。用户在表单中输入用户名并提交。表单数据通过POST请求发送到路径"/process_form"。process_form函数处理表单数据,提取用户名,并返回感谢消息。

在实际应用中,你需要在项目文件夹中创建一个templates文件夹,并在其中添加名为'form.html'的模板文件。这个模板文件通常包含一个HTML表单,用于用户输入信息。在上述代码中,form.html模板文件的内容未提供,但你需要确保模板文件中包含必要的HTML和表单元素。

此外,确保在Flask应用运行时,通过运行python your_app.py(其中your_app.py是包含上述代码的文件)启动应用。

这只是Flask的基础使用方法。随着应用程序的增长,你可能会涉及到更多的主题,如数据库集成、用户认证等

          

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: