公司网站 优帮云,现在做网络的哪个方面最挣钱,自己开发网站怎么开发,最新公司起名大全免费引言
Flask 是一个轻量级的Web框架#xff0c;以简洁和灵活而著称。它提供了构建Web应用所需的基本工具#xff0c;同时保持了足够的可扩展性#xff0c;使其成为初学者和有经验的开发人员的首选。本系列专栏将带领大家逐步深入学习 Flask#xff0c;从最基础的概念开始以简洁和灵活而著称。它提供了构建Web应用所需的基本工具同时保持了足够的可扩展性使其成为初学者和有经验的开发人员的首选。本系列专栏将带领大家逐步深入学习 Flask从最基础的概念开始逐步进阶至更高级的主题。
为什么选择 Flask 轻量级和简单 Flask 的设计理念是保持简单使开发者能够专注于应用的逻辑而不被过多的框架代码干扰。 灵活性 Flask 是一个微框架提供了基础的工具但允许你根据项目的需要选择和集成其他库和工具。 易学易用 Flask 的文档清晰社区活跃对于初学者来说是学习Web开发的绝佳选择。
前置准备虚拟环境
虚拟环境是Python项目中推荐的一种良好实践它使项目的依赖隔离开来。在终端中执行以下命令安装虚拟环境工具
官方推荐pipenv
pipenv 是一个用于 Python 项目的依赖管理工具它结合了 pip、virtualenv 和 pyenv 的功能提供了更简洁、一致的工作流。
安装 pipenv
pip install pipenv创建虚拟环境并安装依赖
进入你的项目目录并运行以下命令
cd your_project_directory
pipenv install这将会创建一个新的虚拟环境并在项目根目录下生成 Pipfile 和 Pipfile.lock 文件。
如果你有一个 requirements.txt 文件也可以使用以下命令
pipenv install -r requirements.txt进入虚拟环境
pipenv shell终端提示符会变成虚拟环境的名称表示已经在虚拟环境中。
安装新的依赖
pipenv install package_name这将自动更新 Pipfile 文件并将依赖项添加到 Pipfile.lock。
退出虚拟环境
exit其他常用命令
# 查看虚拟环境中安装的包
pipenv graph# 卸载依赖
pipenv uninstall package_name# 查看虚拟环境路径
pipenv --venv# 查看 Python 解释器路径
pipenv --py# 检查安全性漏洞
pipenv check
使用 Pipfile 和 Pipfile.lock
Pipfile 文件用于指定项目的依赖关系而 Pipfile.lock 文件用于确保项目的每次构建使用相同的依赖版本。这两个文件是配套使用的Pipfile.lock 不需要手动编辑。
在团队合作时你可以将 Pipfile 和 Pipfile.lock 文件一同提交到版本控制系统确保每个人都使用相同的依赖环境。
Pipfile 示例
[[source]]
url https://pypi.org/simple
verify_ssl true
name pypi[dev-packages][packages]
requests *
flask *[requires]
python_version 3.8Pipfile.lock 示例
{_meta: {requires: {python_version: 3.8},sources: [{name: pypi,url: https://pypi.org/simple,verify_ssl: true}]},default: {flask: {hashes: [sha256:abc123...],version: 1.0.2},requests: {hashes: [sha256:def456...],version: 2.25.1}}
}pipenv 简化了 Python 项目的依赖管理提供了一种更清晰和一致的方式来定义和安装依赖。
其他venv
venv 是 Python 自带的用于创建虚拟环境的工具。 创建虚拟环境
打开终端或命令提示符然后移动到你项目的目录中。运行以下命令来创建一个名为 myenv 的虚拟环境
python3 -m venv myenv这将在当前目录下创建一个名为 myenv 的虚拟环境。 激活虚拟环境
激活虚拟环境可以确保你在该环境中执行的 Python 脚本使用该虚拟环境的解释器和包。在终端中运行以下命令激活虚拟环境
Windows:
myenv\Scripts\activateLinux/Mac:
source myenv/bin/activate激活后你的命令提示符会显示虚拟环境的名称例如(myenv)表示你当前在虚拟环境中。 在虚拟环境中安装包
在虚拟环境中你可以使用 pip 安装任何你需要的包而这些包将仅对当前虚拟环境可见。
pip install package_name运行 Python 脚本
在虚拟环境中你可以运行 Python 脚本而这些脚本将使用虚拟环境中的 Python 解释器和安装的包。
python your_script.py退出虚拟环境
当你完成工作时可以使用以下命令退出虚拟环境
deactivate注意事项
虚拟环境的名称和目录结构是可以自定义的上述命令中的 myenv 只是一个示例。 在虚拟环境中你可以使用 pip freeze 命令生成 requirements.txt 文件以便记录项目的依赖关系。 为了便于项目迁移最好将虚拟环境放在项目目录之外例如创建一个名为 venv 的目录并将虚拟环境放在其中。
使用 venv 虚拟环境可以确保项目有独立的 Python 运行环境防止包冲突和版本问题。
quick start
步骤 1: 创建 Flask 应用
创建一个新的目录进入该目录并在其中创建一个名为 app.py 的文件。
mkdir my_flask_app
cd my_flask_app
touch app.py步骤 2: 安装 Flask
进入虚拟环境然后安装flask
pip install flask步骤 3: 编写第一个 Flask 应用
在 app.py 文件中编写以下代码
from flask import Flaskapp Flask(__name__)app.route(/)
def hello():return Hello, Flask!if __name__ __main__:app.run(debugTrue)步骤 4: 运行 Flask 应用
在终端运行应用
python app.py你将看到输出提示表明 Flask 应用正在运行。在浏览器中访问 http://localhost:5000/将看到 “Hello, Flask!”。
步骤 5: 使用模板引擎
Flask 使用 Jinja2 作为模板引擎。让我们添加一个简单的模板以渲染 HTML 页面。
在 my_flask_app 目录中创建一个名为 templates 的文件夹。
mkdir templates在 templates 文件夹中创建一个名为 index.html 的文件。
!-- templates/index.html --
!DOCTYPE html
html langen
headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleFlask Template Example/title
/head
bodyh1{{ greeting }}/h1
/body
/html更新 app.py 文件以使用模板。
from flask import Flask, render_templateapp Flask(__name__)app.route(/)
def hello():return render_template(index.html, greetingHello, Flask with Templates!)if __name__ __main__:app.run(debugTrue)现在当访问 / 路由时Flask 将渲染 index.html 模板并将 greeting 变量传递给模板。
步骤 6: 接受用户输入
让我们添加一个简单的表单允许用户输入名字。
更新 templates/index.html 文件。
!-- templates/index.html --
!DOCTYPE html
html langen
headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleFlask Template Example/title
/head
bodyform methodpost action{{ url_for(greet) }}label fornameEnter your name:/labelinput typetext idname namename requiredbutton typesubmitGreet/button/form
/body
/html更新 app.py 文件以处理表单提交。
from flask import Flask, render_template, request, redirect, url_forapp Flask(__name__)app.route(/)
def hello():return render_template(index.html)app.route(/greet, methods[POST])
def greet():name request.form.get(name, Guest)return fHello, {name}!if __name__ __main__:app.run(debugTrue)现在当用户在表单中输入他们的名字并点击 “Greet” 按钮时Flask 将显示个性化的问候语。
官方文档https://flask.palletsprojects.com/