57 lines
1.6 KiB
Markdown
57 lines
1.6 KiB
Markdown
# 电子书管理系统
|
||
|
||
> 数据库大作业说明
|
||
|
||
## 配置文件
|
||
|
||
```py
|
||
SECRET_KEY='dev' #可以随机生成一个,比较安全,执行 python -c 'import secrets; print(secrets.token_hex())' 可以快速完成这一步
|
||
DATABASE='bigwork' #需要给它一个新的database
|
||
DATABASE_USER='root' #用户名,确保该用户对上面的数据库有权限
|
||
DATABASE_HOST='xxx.xxx.xxx.xxx' # mysql服务器地址
|
||
DATABASE_PASS='xxxxxxxxx' # 数据库用户密码
|
||
UPLOADDIR="file_storage/" # 上传后文件的存放目录
|
||
ADMIN_PASS="123456" # 管理员密码
|
||
```
|
||
|
||
文件名为`config.py`,放在某个`instance/`下面
|
||
|
||
## 运行源代码
|
||
|
||
|
||
```shell
|
||
python -m venv venv
|
||
./venv/Scripts/Activate.ps1
|
||
pip install flask, pymysql, cryptography
|
||
# edit config.py to
|
||
flask --app ebookman init-db
|
||
flask --app ebookman run
|
||
```
|
||
|
||
使用之前,需要mysql服务器,然后在里面建立一个数据库并保证该数据库被授权给了指定的用户。在`./instance/config.py`里面修改对应的用户、密码、服务器地址等信息。
|
||
|
||
## 安装whl格式的安装包
|
||
|
||
```shell
|
||
python -m venv venv
|
||
./venv/Scripts/Activate.ps1
|
||
pip install ebookman-1.0.0-py3-none-any.whl
|
||
mkdir -p ./venv/var/ebookman-instance/
|
||
# 向./venv/var/ebookman-instance/config.py中写入配置
|
||
flask --app ebookman init-db
|
||
flask --app ebookman run
|
||
# 或者使用wsgi服务器,如gunicorn、waitress
|
||
pip install waitress
|
||
waitress-serve --call 'ebookman:create_app'
|
||
```
|
||
|
||
上传的文件在`./file_storage`目录下
|
||
|
||
## 打包whl安装包
|
||
|
||
```shell
|
||
pip install wheel
|
||
python setup.py bdist_wheel
|
||
```
|
||
|
||
生成的whl在dist目录下面 |