安装py3、pip
略
新建env在里面安装flask
(py3.3以上的版本可以直接使用venv、之前的版本可以用virtualenv替代虚拟环境)
新建虚拟环境:
python -m venv flaskenv
在shell中进入虚拟环境:
使用管理员运行powershell:
set-executionpolicy remotesigned
运行activate
.\flaskenv\Scripts\activate.ps1
使用cmd:
cd至虚拟环境目录flaskenv\Scripts\activate.bat
安装flask:
pip install flask
第一个flask程序:
新建文件run.py
1 | from flask import Flask |
此时运行run.py
用命令行的话使用python run.py
执行
用IDE的话跟据IDE配置好运行方式
在浏览器输入http://127.0.0.1:5000/
就可以访问到运行的页面了
使用配置文件:
为了方便调试,我们需要吧Flask设置成 debug 模式,这样修改完代码后flask项目会自动重新运行
新建config.py
1 | DEBUG = True |
在run.py设置配置文件:
1 | # 在app = Flask(__name__)下方插入该语句让项目使用config文件的配置 |
使用模板:
为了简化前端页面所需要的代码量,我们可以使用模板
新建文件夹 templates
在里面新建一个html页面 index.html
1 | <!DOCTYPE html> |
修改run.py代码, 使用模板
1 | # 修改其中的主页函数,将return对象改为模板 |
使用自定义title:
修改模板(index.html
)的title部分
1 | <title> {{ title }} </title> |
修改run.py:
1 | @app.route('/') |
模板拓展:
这个功能可以体现模板的强大之一
在templates中添加base.html
1 | <!DOCTYPE html> |
修改主页index.html
1 | {% extends "base.html" %} |
在templates中增加注册页面和登陆页面:
register.html:
1 | {% extends "base.html" %} |
login.html:
1 | {% extends "base.html" %} |
为两个页面添加路由:
run.py
1 | # 在主页函数下方新增下面两个路由函数 |
post方法
为注册页面添加post处理方法:
在templates中添加信息页面:
message.html
1 | {% extends "base.html" %} |
更新注册逻辑:
1 | # 修改注册路由函数为下方逻辑 |
处理登陆逻辑:
1 | # 同样修改登陆逻辑 |
文件管理
将该应用作为单独的app使用
在项目根目录下新建文件夹account
将run.py
修改为views.py
将views.py、config.py、templates移动至account目录下
添加__init__.py
1 | from flask import Flask |
此时的文件结构
-account
–templates
–init.py
–views.py
–config.py
改写 views.py
的头部
1 | from flask import Flask, render_template, request |
将views.py
的尾部删除:
将views.py
的最下面两行代码删除,因为这不属于视图部分的逻辑
1 | if __name__ == '__main__': |
注意:views中的
1
2 app = Flask(__name__)
app.config.from_pyfile('config.py')
是被移动到__init__.py
中了
在项目根目录添加 run.py
此时的文件结构
-account
–templates
–init.py
–views.py
–config.py
-run.py
1 | from account import app |
还记得之前views.py中删除的部分吗,它属于运行逻辑,所以被移动到了run.py中