个人免费注册公司网站,wordpress淘宝客主题 2018,网站怎么制作视频,仿顺丰优选网站源码文章目录 前言1. 环境搭建1.1Python安装1.2选择Python开发环境1.3 创建虚拟环境#xff08;可选但推荐#xff09;1.4 安装 Flask 2. 第一个 Flask 应用3. 路由和视图函数3.1 基本路由3.2 动态路由3.3 路由参数类型 4. 请求和响应4.1 获取请求数据4.2 响应对象 5. 模板渲染6.… 文章目录 前言1. 环境搭建1.1Python安装1.2选择Python开发环境1.3 创建虚拟环境可选但推荐1.4 安装 Flask 2. 第一个 Flask 应用3. 路由和视图函数3.1 基本路由3.2 动态路由3.3 路由参数类型 4. 请求和响应4.1 获取请求数据4.2 响应对象 5. 模板渲染6. 静态文件处理7. 会话管理8. 错误处理9. 数据库集成10. 部署 前言
Flask 是一个轻量级的 Python Web 框架它简单易用适合初学者和快速开发小型 Web 应用。以下是一份较为全面的 Flask 框架教程 1. 环境搭建
1.1Python安装
访问 Python 官方网站根据你的操作系统Windows、Mac 或 Linux下载并安装 Python 3.x 版本。安装时勾选 “Add Python to PATH”方便在命令行中使用 Python。 Python 3.7安装教程https://blog.csdn.net/u014164303/article/details/145620847 Python 3.9安装教程https://blog.csdn.net/u014164303/article/details/145570561 Python 3.11安装教程https://blog.csdn.net/u014164303/article/details/145549489 Python 3.7下载地址https://pan.quark.cn/s/8268bf81f31f Python 3.9下载地址https://pan.quark.cn/s/9711a93276ad Python 3.11下载地址https://pan.quark.cn/s/9c44793cb24c 1.2选择Python开发环境
PyCharm 社区版免费或专业版需付费或申请教育版。安装完成后打开 PyCharm创建一个新的项目在项目设置中选择之前创建的虚拟环境作为项目的 Python 解释器。PyCharm 功能强大提供代码自动补全、调试等功能适合开发大型项目。 Pycharm安装教程https://blog.csdn.net/u014164303/article/details/145674773 PyCharm下载地址https://pan.quark.cn/s/5756c8cf8b2a 1.3 创建虚拟环境可选但推荐
虚拟环境可以隔离不同项目的依赖避免版本冲突。在命令行中执行以下操作
# 创建虚拟环境
python -m venv myenv# 激活虚拟环境Windows
myenv\Scripts\activate# 激活虚拟环境Linux/Mac
source myenv/bin/activate1.4 安装 Flask
在激活的虚拟环境中使用 pip 安装 Flask bash pip install flask
2. 第一个 Flask 应用
创建一个名为 app.py 的文件编写以下代码
from flask import Flask# 创建 Flask 应用实例
app Flask(__name__)# 定义路由和视图函数
app.route(/)
def hello_world():return Hello, World!if __name__ __main__:# 启动应用app.run(debugTrue)
在命令行中运行该文件 python app.py 打开浏览器访问 http://127.0.0.1:5000你将看到页面显示 Hello, World!。
3. 路由和视图函数
3.1 基本路由
Flask 使用 app.route() 装饰器来定义路由将 URL 与视图函数关联起来。
app.route(/about)
def about():return This is the about page.访问 http://127.0.0.1:5000/about 即可看到相应的页面内容。
3.2 动态路由
可以在路由中使用变量通过 variable_name 的形式定义视图函数可以接收该变量作为参数。
app.route(/user/username)
def show_user_profile(username):return fUser: {username}访问 http://127.0.0.1:5000/user/John页面将显示 User: John。
3.3 路由参数类型
可以指定变量的类型如 int、float 等。
app.route(/post/int:post_id)
def show_post(post_id):return fPost ID: {post_id}访问 http://127.0.0.1:5000/post/123页面将显示 Post ID: 123。
4. 请求和响应
4.1 获取请求数据
Flask 使用 request 对象来处理请求数据如表单数据、查询参数等。
from flask import requestapp.route(/login, methods[GET, POST])
def login():if request.method POST:username request.form.get(username)password request.form.get(password)return fUsername: {username}, Password: {password}return form methodpostlabel forusernameUsername:/labelinput typetext idusername nameusernamebrlabel forpasswordPassword:/labelinput typepassword idpassword namepasswordbrinput typesubmit valueLogin/form4.2 响应对象
可以使用 make_response() 函数创建自定义响应对象设置响应头、状态码等。
from flask import make_responseapp.route(/custom_response)
def custom_response():resp make_response(This is a custom response)resp.headers[Content-Type] text/plainresp.status_code 201return resp
5. 模板渲染
Flask 使用 Jinja2 模板引擎来渲染 HTML 页面。创建一个名为 templates 的文件夹在其中创建一个 index.html 文件
!DOCTYPE html
html langen
headmeta charsetUTF-8titleHome Page/title
/head
bodyh1Welcome to the Home Page!/h1pMessage: {{ message }}/p
/body
/html在 app.py 中使用 render_template() 函数渲染模板
from flask import render_templateapp.route(/home)
def home():message Hello from the server!return render_template(index.html, messagemessage)6. 静态文件处理
创建一个名为 static 的文件夹用于存放静态文件如 CSS、JavaScript 和图片等。在 HTML 模板中引用静态文件
!DOCTYPE html
html langen
headmeta charsetUTF-8titleHome Page/titlelink relstylesheet href{{ url_for(static, filenamestyle.css) }}
/head
bodyh1Welcome to the Home Page!/h1
/body
/html7. 会话管理
Flask 使用 session 对象来管理用户会话。需要设置一个会话密钥
from flask import sessionapp.secret_key your_secret_keyapp.route(/set_session)
def set_session():session[username] Johnreturn Session setapp.route(/get_session)
def get_session():username session.get(username)if username:return fUsername: {username}return No session data8. 错误处理
可以使用 app.errorhandler() 装饰器来处理特定的错误。
app.errorhandler(404)
def page_not_found(error):return Page not found, 4049. 数据库集成
Flask 可以与多种数据库集成如 SQLite、MySQL、PostgreSQL 等。以 SQLite 为例使用 Flask - SQLAlchemy 进行数据库操作 pip install flask-sqlalchemy from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp Flask(__name__)
app.config[SQLALCHEMY_DATABASE_URI] sqlite:///test.db
db SQLAlchemy(app)class User(db.Model):id db.Column(db.Integer, primary_keyTrue)username db.Column(db.String(80), uniqueTrue, nullableFalse)def __repr__(self):return User %r % self.usernameapp.before_first_request
def create_tables():db.create_all()app.route(/add_user/username)
def add_user(username):new_user User(usernameusername)db.session.add(new_user)db.session.commit()return fUser {username} addedif __name__ __main__:app.run(debugTrue)10. 部署
开发完成后可以将 Flask 应用部署到生产环境常见的部署方式有WSGI 服务器如 Gunicorn适用于 Linux、uWSGI 等。云平台如 Heroku、阿里云、腾讯云等。
通过以上步骤你可以逐步掌握 Flask 框架的基本使用开发出功能丰富的 Web 应用。