1、学习内容来自The Flask Mega-Tutorial Part I: Hello, World! 关于Python与Flask的学习内容。
2、安装python:从python官方网站下装安装。安装完成后打开一个终端输入python,输出如下:
C:\Users\Administrator>python
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
3、创建目录,并为本应用程序创建虚拟环境:
D:\pythonProgram\PycharmProjects>mkdir microblog
D:\pythonProgram\PycharmProjects>cd microblog
D:\pythonProgram\PycharmProjects\microblog>python -m venv venv
D:\pythonProgram\PycharmProjects\microblog>dir
驱动器 D 中的卷没有标签。
卷的序列号是 62E7-AEE6
D:\pythonProgram\PycharmProjects\microblog 的目录
2021/06/01 10:21 <DIR> .
2021/06/01 10:21 <DIR> ..
2021/06/01 10:21 <DIR> venv
0 个文件 0 字节
3 个目录 133,830,774,784 可用字节
D:\pythonProgram\PycharmProjects\microblog>venv\Scripts\activate
(venv) D:\pythonProgram\PycharmProjects\microblog>
4、在虚拟环境下安装flask
(venv) D:\pythonProgram\PycharmProjects\microblog>pip install flask
Collecting flask
Downloading Flask-2.0.1-py3-none-any.whl (94 kB)
|████████████████████████████████| 94 kB 672 kB/s
Collecting click>=7.1.2
Downloading click-8.0.1-py3-none-any.whl (97 kB)
|████████████████████████████████| 97 kB 2.3 MB/s
Collecting itsdangerous>=2.0
Downloading itsdangerous-2.0.1-py3-none-any.whl (18 kB)
Collecting Werkzeug>=2.0
Downloading Werkzeug-2.0.1-py3-none-any.whl (288 kB)
|████████████████████████████████| 288 kB ...
Collecting Jinja2>=3.0
Downloading Jinja2-3.0.1-py3-none-any.whl (133 kB)
|████████████████████████████████| 133 kB 6.4 MB/s
Collecting colorama; platform_system == "Windows"
Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting MarkupSafe>=2.0
Downloading MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl (14 kB)
Installing collected packages: colorama, click, itsdangerous, Werkzeug, MarkupSafe, Jinja2, flask
Successfully installed Jinja2-3.0.1 MarkupSafe-2.0.1 Werkzeug-2.0.1 click-8.0.1 colorama-0.4.4 flask-2.0.1 itsdangerous-2.0.1
WARNING: You are using pip version 20.1.1; however, version 21.1.2 is available.
You should consider upgrading via the 'd:\pythonprogram\pycharmprojects\microblog\venv\scripts\python.exe -m pip install --upgrade pip' command.
(venv) D:\pythonProgram\PycharmProjects\microblog>
5、按照以下项目结构构建项目文件
microblog/
venv/
app/
__init__.py
routes.py
microblog.py
创建应用目录
(venv) D:\pythonProgram\PycharmProjects\microblog>mkdir app
使用pycharm打开创建的microblog文件夹
并在其下创建文件__init__.py,输入如下的代码:
from flask import Flask
app = Flask(__name__)
from app import routes
这是写入到app/routes.py中的第一个视图函数的代码:
from app import app
@app.route('/')
@app.route('/index')
def index():
return "Hello, World!"
在定义Flask应用程序实例的顶层(译者注:也就是microblog目录下)创建一个命名为microblog.py的Python脚本。 它仅拥有一个导入应用程序实例的行:
from app import app
这个应用的第一个版本现在完成了!
6、在运行之前,需要通过设置FLASK_APP环境变量告诉Flask如何导入它:
set FLASK_APP=microblog.py
运行flask的第一个web应用
(microblog) D:\pythonProgram\PycharmProjects\microblog>flask run
* Serving Flask app 'microblog.py' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [01/Jun/2021 12:28:50] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [01/Jun/2021 12:28:51] "GET /favicon.ico HTTP/1.1" 404 -
输入url地址
http://localhost:5000/
或者
http://localhost:5000/index
第一个URL映射到/,而第二个映射到/ index。 这两个路由都与应用程序中唯一的视图函数相关联,所以它们产生相同的输出,即函数返回的字符串。 如果你输入任何其他网址,则会出现错误,因为只有这两个URL被应用程序识别。
7、终端会话中直接设置的环境变量不会永久生效,因此你不得不在每次新开终端时设定 FLASK_APP 环境变量,从 1.0 版本开始,Flask 允许你设置只会在运行flask命令时自动注册生效的环境变量,要实现这点,你需要安装 python-dotenv,
(microblog) D:\pythonProgram\PycharmProjects\microblog>pip install python-dotenv
Collecting python-dotenv
Downloading python_dotenv-0.17.1-py2.py3-none-any.whl (18 kB)
Installing collected packages: python-dotenv
Successfully installed python-dotenv-0.17.1
在项目的根目录下新建一个名为 .flaskenv 的文件,其内容是:
FLASK_APP=microblog.py
通过此项设置,FLASK_APP就可以自动加载了