当前位置:   article > 正文

Python学习计划——11.1使用Flask创建一个简单的Web应用

Python学习计划——11.1使用Flask创建一个简单的Web应用

Flask是一个轻量级的Python Web框架,适合快速开发小型Web应用。它易于学习和使用,并且具有丰富的扩展功能。以下是Flask基本知识的详细讲解和一个可运行的Python案例。

1. 安装Flask

首先,需要安装Flask。可以使用pip进行安装:

pip install Flask

2. 创建一个简单的Flask应用

一个简单的Flask应用包含一个或多个路由,每个路由处理特定的URL和HTTP方法。以下是一个基本的Flask应用示例:

示例:创建简单的Flask应用

  1. from flask import Flask
  2. # 创建Flask应用
  3. app = Flask(__name__)
  4. # 定义路由和视图函数
  5. @app.route('/')
  6. def home():
  7. return "Hello, Flask!"
  8. # 启动应用
  9. if __name__ == '__main__':
  10. app.run(debug=True)

将上述代码保存为app.py,然后运行它:

python app.py

然后打开浏览器,访问http://127.0.0.1:5000/,你将看到以下文本:

Hello, Flask!

3. 添加更多路由和视图函数

可以为应用添加多个路由,每个路由对应不同的URL和视图函数。

示例:添加多个路由

  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route('/')
  4. def home():
  5. return "Hello, Flask!"
  6. @app.route('/about')
  7. def about():
  8. return "This is the About page."
  9. @app.route('/user/<username>')
  10. def user_profile(username):
  11. return f"Hello, {username}!"
  12. if __name__ == '__main__':
  13. app.run(debug=True)

访问以下URL:

  • http://127.0.0.1:5000/:显示"Hello, Flask!"
  • http://127.0.0.1:5000/about:显示"This is the About page."
  • http://127.0.0.1:5000/user/John:显示"Hello, John!"

4. 模板渲染

Flask使用Jinja2模板引擎,可以动态生成HTML页面。模板文件通常存放在名为templates的目录中。

示例:使用模板渲染HTML页面

首先,创建一个名为templates的目录,并在其中创建一个名为index.html的文件:

  1. <!-- templates/index.html -->
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <title>Flask App</title>
  6. </head>
  7. <body>
  8. <h1>Hello, {{ name }}!</h1>
  9. </body>
  10. </html>

然后修改Flask应用代码:

  1. from flask import Flask, render_template
  2. app = Flask(__name__)
  3. @app.route('/')
  4. def home():
  5. return render_template('index.html', name="Flask")
  6. @app.route('/about')
  7. def about():
  8. return "This is the About page."
  9. @app.route('/user/<username>')
  10. def user_profile(username):
  11. return f"Hello, {username}!"
  12. if __name__ == '__main__':
  13. app.run(debug=True)

访问http://127.0.0.1:5000/,你将看到渲染后的HTML页面:

Hello, Flask!

5. 处理表单数据

可以使用Flask处理表单提交的数据。下面是一个简单的示例,演示如何处理表单数据并进行响应。

示例:处理表单数据

首先,在templates目录中创建一个名为form.html的文件:

  1. <!-- templates/form.html -->
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <title>Form Example</title>
  6. </head>
  7. <body>
  8. <h1>Submit a Form</h1>
  9. <form method="POST" action="/submit">
  10. <label for="name">Name:</label>
  11. <input type="text" id="name" name="name">
  12. <button type="submit">Submit</button>
  13. </form>
  14. </body>
  15. </html>

然后修改Flask应用代码:

  1. from flask import Flask, render_template, request
  2. app = Flask(__name__)
  3. @app.route('/')
  4. def home():
  5. return render_template('index.html', name="Flask")
  6. @app.route('/about')
  7. def about():
  8. return "This is the About page."
  9. @app.route('/user/<username>')
  10. def user_profile(username):
  11. return f"Hello, {username}!"
  12. @app.route('/form')
  13. def form():
  14. return render_template('form.html')
  15. @app.route('/submit', methods=['POST'])
  16. def submit():
  17. name = request.form['name']
  18. return f"Form submitted! Hello, {name}!"
  19. if __name__ == '__main__':
  20. app.run(debug=True)

访问http://127.0.0.1:5000/form,填写表单并提交,你将看到提交后的响应:

Form submitted! Hello, [name]!

6. 可运行的Python案例

下面是一个完整的Python程序,演示了如何使用Flask创建一个简单的Web应用,包括路由、模板渲染和表单处理。

  1. from flask import Flask, render_template, request
  2. app = Flask(__name__)
  3. @app.route('/')
  4. def home():
  5. return render_template('index.html', name="Flask")
  6. @app.route('/about')
  7. def about():
  8. return "This is the About page."
  9. @app.route('/user/<username>')
  10. def user_profile(username):
  11. return f"Hello, {username}!"
  12. @app.route('/form')
  13. def form():
  14. return render_template('form.html')
  15. @app.route('/submit', methods=['POST'])
  16. def submit():
  17. name = request.form['name']
  18. return f"Form submitted! Hello, {name}!"
  19. if __name__ == '__main__':
  20. app.run(debug=True)

可以将上面的代码保存为app.py,并创建对应的模板文件(index.htmlform.html),然后运行程序。这个案例综合了Flask Web开发的基本知识,帮助你理解和掌握这些操作。继续加油,学习Python会越来越有趣和有用!

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/948153
推荐阅读
相关标签
  

闽ICP备14008679号