# FlaskTutorial **Repository Path**: antares007/flask-tutorial ## Basic Information - **Project Name**: FlaskTutorial - **Description**: 用于Flask培训的案列项目 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 14 - **Created**: 2021-12-10 - **Last Updated**: 2022-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FlaskTutorial #### 介绍 用于Flask培训的案列项目 #### Python 虚拟环境的创建 建议在开发环境和生产环境下都使用虚拟环境来管理项目的依赖。 为什么要使用虚拟环境?随着你的 Python 项目越来越多,你会发现不同的项目 会需要不同的版本的 Python 库。同一个 Python 库的不同版本可能不兼容。 虚拟环境可以为每一个项目安装独立的 Python 库,这样就可以隔离不同项目之间的 Python 库,也可以隔离项目与操作系统之间的 Python 库。 本培训项目使用 MiniConda 来管理虚拟环境,所以 需要首先在机器上安装 MiniConda 这个软件。 安装好 MiniConda 这个软件之后,系统会出现 conda 命令,以下是本项目的 conda 版本 和 python 版本信息: ```bash PS C:\Users\lighter> conda info active environment : None user config file : C:\Users\lighter\.condarc populated config files : conda version : 4.10.3 conda-build version : not installed python version : 3.9.5.final.0 virtual packages : __cuda=11.4=0 __win=0=0 __archspec=1=x86_64 base environment : D:\ProgramFiles\Miniconda3 (writable) conda av data dir : D:\ProgramFiles\Miniconda3\etc\conda conda av metadata url : None channel URLs : https://repo.anaconda.com/pkgs/main/win-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/win-64 https://repo.anaconda.com/pkgs/r/noarch https://repo.anaconda.com/pkgs/msys2/win-64 https://repo.anaconda.com/pkgs/msys2/noarch package cache : D:\ProgramFiles\Miniconda3\pkgs C:\Users\lighter\.conda\pkgs C:\Users\lighter\AppData\Local\conda\conda\pkgs envs directories : D:\ProgramFiles\Miniconda3\envs C:\Users\lighter\.conda\envs C:\Users\lighter\AppData\Local\conda\conda\envs platform : win-64 user-agent : conda/4.10.3 requests/2.25.1 CPython/3.9.5 Windows/10 Windows/10.0.22000 administrator : True netrc file : None offline mode : False PS C:\Users\lighter> ``` 可以看出 我们使用的 conda version : 4.10.3 ;python version : 3.9.5.final.0 虚拟环境的安装目录,首选是 : `D:\ProgramFiles\Miniconda3\envs` 有了 conda 工具之后, 就可以创建虚拟环境了,如下所示: ```bash C:\Users\lighter>conda create --name flaskenv python==3.9.5 Collecting package metadata (current_repodata.json): done Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): done Solving environment: done ## Package Plan ## environment location: D:\ProgramFiles\Miniconda3\envs\flaskenv added / updated specs: - python==3.9.5 The following packages will be downloaded: package | build ---------------------------|----------------- ca-certificates-2021.10.26 | haa95532_2 115 KB certifi-2021.10.8 | py39haa95532_0 152 KB openssl-1.1.1l | h2bbff1b_0 4.8 MB pip-21.2.4 | py39haa95532_0 1.8 MB setuptools-58.0.4 | py39haa95532_0 778 KB tzdata-2021e | hda174b7_0 112 KB wheel-0.37.0 | pyhd3eb1b0_1 33 KB wincertstore-0.2 | py39haa95532_2 15 KB ------------------------------------------------------------ Total: 7.8 MB The following NEW packages will be INSTALLED: done # # To activate this environment, use # # $ conda activate flaskenv # # To deactivate an active environment, use # # $ conda deactivate ``` #### Flask的安装及其依赖库 首先激活我们上面创建的 `flaskenv` 这个虚拟环境,然后安装 Flask 软件包: ```bash C:\Users\lighter>conda activate flaskenv (flaskenv) C:\Users\lighter>pip install flask Collecting flask Downloading Flask-2.0.2-py3-none-any.whl (95 kB) |████████████████████████████████| 95 kB 448 kB/s Collecting Werkzeug>=2.0 Downloading Werkzeug-2.0.2-py3-none-any.whl (288 kB) |████████████████████████████████| 288 kB 1.3 MB/s Collecting click>=7.1.2 Downloading click-8.0.3-py3-none-any.whl (97 kB) |████████████████████████████████| 97 kB 3.3 MB/s Collecting itsdangerous>=2.0 Downloading itsdangerous-2.0.1-py3-none-any.whl (18 kB) Collecting Jinja2>=3.0 Downloading Jinja2-3.0.3-py3-none-any.whl (133 kB) |████████████████████████████████| 133 kB 3.3 MB/s Collecting colorama Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB) Collecting MarkupSafe>=2.0 Downloading MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl (14 kB) Installing collected packages: MarkupSafe, colorama, Werkzeug, Jinja2, itsdangerous, click, flask Successfully installed Jinja2-3.0.3 MarkupSafe-2.0.1 Werkzeug-2.0.2 click-8.0.3 colorama-0.4.4 flask-2.0.2 itsdangerous-2.0.1 ``` 使用 `pip list` 命令可以查看当前虚拟环境中的所有包: ```bash (flaskenv) C:\Users\lighter>pip list Package Version ------------ --------- certifi 2021.10.8 click 8.0.3 colorama 0.4.4 Flask 2.0.2 itsdangerous 2.0.1 Jinja2 3.0.3 MarkupSafe 2.0.1 pip 21.2.4 setuptools 58.0.4 Werkzeug 2.0.2 wheel 0.37.0 wincertstore 0.2 ``` 可以看到,当安装 Flask 时,以下配套软件会被自动安装。 **必需依赖项** - Werkzeug 用于实现 WSGI ,应用和服务之间的标准 Python 接口。 - Jinja2 用于渲染页面的模板语言。 - MarkupSafe 与 Jinja2 共用,在渲染页面时用于避免不可信的输入,防止注入攻击。 - ItsDangerous 保证数据完整性的安全标志数据,用于保护 Flask 的 `session` `cookie`. - Click 是一个命令行应用的框架。用于提供 flask 命令,并允许添加自定义 管理命令。 **可选依赖项** 以下配套软件不会被自动安装。如果安装了,那么 Flask 会检测到这些软件。 - Blinker 为 信号 提供支持。 - python-dotenv 当运行 flask 命令时为 通过 dotenv 设置环境变量 提供支持。 - Watchdog 为开发服务器提供快速高效的重载。 上面的可选依赖项,我们暂时先不安装。 #### 项目版本控制 版本控制配置,如 git 。不管项目大小,应当养成使用版本控制的习惯。 我们在码云(gitee.com)上创建代码仓库,来进行代码版本管理和开发进度记录: 假设 我们已经创建好了仓库,名称为: FlaskTutorial ; 地址为 : ``https://gitee.com/antares007/flask-tutorial`` 我们现在就可以把这个仓库拉取到本地的某个文件夹中,作为本地代码仓库,命令如下: ```bash Microsoft Windows [版本 10.0.19043.1348] (c) Microsoft Corporation。保留所有权利。 F:\WebProjects>git clone https://gitee.com/antares007/flask-tutorial Cloning into 'flask-tutorial'... remote: Enumerating objects: 6, done. remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 6 Receiving objects: 100% (6/6), done. F:\WebProjects> ``` 这样我们就在本地电脑的 `F:\WebProjects` 目录下创建了一个代码仓库: `flask-tutorial 目录结构如下所示: