-
基于蓝图创建红图,更好细分模块与视图函数
-
稍微完善的后台权限
-
自定义登陆检测装饰器与权限检测装饰器
-
多线程异步增加评论与访问数量
-
结合redis实现弹幕发送
-
使用with的上下文特性自动开启事务
-
flask-login处理前台登陆逻辑
-
使用Enum枚举类来表示状态,更具可读性
-
csrf认证
-
WTForms参数验证
-
Jinja2模板引擎
-
基于SQLAlchemy的CRUD
-
简单,开箱即用
Python的运行环境要求3.x。
依赖 | 说明 |
---|---|
Python | >= 3.6 |
Flask | >= 1.0.2 |
cymysql | >= 0.9.10 |
Flask-Login | >= 0.4.1 |
Flask-Redis | >= 0.3.0 |
Flask-SQLAlchemy | >= 2.3.2 |
itsdangerous | >= 0.24 |
Jinja2 | >= 2.10 |
requests | >= 2.18.4 |
SQLAlchemy | >= 1.2.8 |
Werkzeug | >= 0.14.1 |
WTForms | >= 2.2 |
数据库在运行fisher.py自动生成。
- 点击下载安装或者复制地址使用git clone命令下载
git clone [email protected]:<你的用户名>/flask-yushu.git
- 在app目录下创建secure.py文件(用来管理私密设置信息)
DEBUG=True #是否开启Dubug
HOST='0.0.0.0' #0.0.0.0表示访问权限为全网
PORT=80 #访问端口号
# mysql连接,比如 SQLALCHEMY_DATABASE_URI='mysql+cymysql://root:root@localhost:3306/movie'
SQLALCHEMY_DATABASE_URI='mysql+cymysql://用户名:用户名@ip地址:mysql端口号/数据库名'
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_COMMIT_TEARDOWN = True
SECRET_KEY='任意字符串作为你的秘钥key'
# redis服务器地址 比如 REDIS_URL = "redis://127.0.0.1:6379/10"
REDIS_URL = "redis://你的redis服务器地址:6379/redis里的第几个db"
- 相关依赖
最好在venv的虚拟环境中安装,避免全局污染
- 运行
python movie.py
前后台部分(home,admin)已经用红图代替了蓝图。
如果是前台。在 app/home 下构建 视图(比如test).py文件后,需要到app/home/__init.py__文件中进行注册。比如
from flask import Blueprint
from app.home import test
bp = Blueprint('home',__name__)
def create_home_blueprint():
test.app.register(bp)
return bp
如果 视图(比如test).py文件中注册是视图函数route是
from app.libs.redprint import Redprint
app=RedPrint()
@app.route('/test')
def test():
return 'test'
此时API接口地址应为
如果是后台。在 app/admin 下构建 视图(比如test).py文件后,需要到app/admin/__init.py__文件中进行注册。比如
from flask import Blueprint
from app.admin import test
bp=Blueprint('admin',__name__)
def create_home_blueprint():
test.app.register(bp,url_prefix='/admin')
return bp
如果 视图(比如test).py文件中注册是视图函数route是
from app.libs.redprint import Redprint
app=RedPrint()
@app.route('/test')
def test():
return 'test'
此时API接口地址应为
已经使用with和yield对事务做了上下文处理,当进行数据库处理时,请在with下操作,发生错误时自动回滚
with db.auto_commit():
# orm逻辑
db.session.add(模型实例)
以上都完成后 前后台登录账号均可自行注册
前台地址:
后台地址:
依赖 | 说明 |
---|---|
Centos | >= 7.2 |
Python | >= 3.6 |
Flask | >= 1.0.2 |
MySQL或者MariaDB | >= 5.5 |
nginx | >= 1.4.0 |
uwsgi | >= 2.0.17 |
pipenv | 暂无 |
笔者热爱新技术学习、热衷分享。
- QQ:617946852
- Email:[email protected]
- WeChat stav_yan
欢迎进入笔者的私人空间---斯塔夫部落格