7 Star 13 Fork 2

Tom / novel-flask

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

本项目仅用于学习和交流

基于/使用/参考的项目

Layui / layui
Pear Admin / Pear Admin Flask
小说精品屋 / novel-plus
maplemei / xm-select
sakuya / LayUi组件:TableSelect

项目介绍

novel-flask,是一个使用Pear Admin Flask作为管理后台,使用Flask仿照/基于优秀项目“小说精品屋”开发的项目

截图

项目结构

novel-flask
├── apps -- 所有应用目录,包括前台front应用和后台admin应用
├── docs -- 存放了一些文档/笔记/sql脚本
├── plugins -- 项目用到的插件
├── pub -- 项目公共模块,主要提供一些常量、工具脚本,以及各个app公用的配置、扩展(数据库、邮件、文件上传工具等的初始化/配置)、模型类等
└── manage_admin.py -- 后台app启动脚本
└── manage_front.py -- 前台app启动脚本

app结构(以前台front app为例)

front
├── dto -- 数据传输对象包装类,主要用于api的输入输出约束
├── exts -- 初始化项目用到的扩展,例如jwt等
├── logic -- 功能模块的具体业务逻辑,当业务逻辑代码较多的时候,则将业务逻辑写在该层下
├── service -- 由于views层各个模块(蓝图)之间、本模块之内,存在大量可复用代码/逻辑,和logic层的不同,主要在于本层提供的是公用的业务逻辑,多个功能模块都有可能调用
├── static -- 存放css、js等静态资源的地方
├── templates -- 存放html页面的地方
└── views -- 视图函数
├── __init__.py -- app初始化脚本,所有扩展均在此初始化、引入
└── config.py -- app配置脚本

技术选型

技术 说明
Flask 小而美的python web框架
MySQL 数据库服务
pymysql 数据库连接
Flask SQLAlchemy ORM框架,可提供多数据源支持
Redis 缓存中间件
flask-siwadoc swagger api文档
Flask-JWT-Extended 提供前台登录支持
Flask-Login 提供后台登录支持
Flask-Upload 文件上传
Jinja2 模板引擎
marshmallow 序列化工具(用于模型类的序列化、反序列化,便于Redis存取、与前端交互)
jsonpickle 序列化工具(本项目主要用于进程间、网络传输时的序列化、反序列化)
nltk 字符处理统计
alipay 阿里支付SDK
Layui 前端 UI 框架
Flask sqlacodegen 数据库逆向工程,用于根据已有数据库表反向生成模型类(项目中已剔除,由于其使用sqlacodegen,而sqlacodegen使用的SQLAlchemy远低于本项目使用的版本)

运行方法

1.安装好MySQL(8.x)、Redis(windows平台 5.0.14.1)、python 3.11
2.(1)将docs/sqls下的2个数据库建好,然后执行脚本创建表和添加数据
(2)全量数据到仓库novel-flask-data获取
注意:全量仓库里的数据库表结构不一定是最新的,因此项目docs/sqls下的增量脚本需要手动执行
(3)通过命令或通过pycharm图形界面建立虚拟环境
(4)如需全局配置镜像源为清华镜像源,则执行:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
(5)执行 pip install -r requirements.txt
3.修改配置:pub/config.py,需修改以下项:
BaseConfig:
(1)UPLOADED_PHOTOS_DEST
(2)REDIS相关配置
(3)MYSQL相关配置
(4)SQLALCHEMY_BINDS(把两个数据库的数据源写进去,也可以只写一个,因为另一个作为默认的数据库连接,已经在SQLALCHEMY_DATABASE_URI配好)
4.修改配置:apps/front/config.py,按需修改,可以不修改
5.修改配置:apps/admin/config.py,按需修改,可以不修改
6.运行:
(1)启动后台:运行manage_admin.py
测试账号:admin/111111
(2)启动前台:运行manage_front.py
测试账号:
17816600001/111111
17816600002/111111
17816610001/111111
17816610002/111111

7.接口文档:
前台:127.0.0.1:8080/docs
后台:127.0.0.1:5000/docs
账号:111111
密码:111111

8.支付配置:
在支付宝平台申请应用id(APP_ID)、应用私钥(APP_PRIVATE_KEY)、支付宝公钥(ALIPAY_PUBLIC_KEY)
将APP_ID、APP_PRIVATE_KEY、ALIPAY_PUBLIC_KEY配置到系统环境变量中,以供程序调取
MIT License Copyright (c) 2021 mkg Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

使用flask开发的小说网站 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/dhqcxf/novel-flask.git
git@gitee.com:dhqcxf/novel-flask.git
dhqcxf
novel-flask
novel-flask
master

搜索帮助