115 lines
2.3 KiB
Markdown
115 lines
2.3 KiB
Markdown
# APP打包步骤
|
||
|
||
|
||
|
||
## 一、复制APP
|
||
|
||
将要打包的APP复制粘贴到根目录
|
||
|
||
|
||
|
||
## 二、编辑APP下面的apps.py文件
|
||
|
||
在apps.py文件中添加该函数:
|
||
|
||
```python
|
||
def ready(self):
|
||
"""Django 应用启动时的钩子。
|
||
在此执行运行时授权校验,未授权则抛出异常阻止应用启动。
|
||
"""
|
||
try:
|
||
from .license_verifier import verify_machine_license
|
||
verify_machine_license()
|
||
except Exception:
|
||
# 直接再抛出,让 Django 启动失败并展示错误信息
|
||
raise
|
||
```
|
||
|
||
|
||
|
||
## 三、迁移license
|
||
|
||
1. 将根目录下面的license_verifier.py复制粘贴到要打包的APP下
|
||
|
||
2. 修改license_verifier.py文件
|
||
|
||
将下面的PACKAGE_NAME的值改为要把包的app名称
|
||
|
||
```
|
||
PACKAGE_NAME = "hertz_studio_django_xxxxx"
|
||
```
|
||
|
||
修改该脚本最后一行代码,将Xxxxx改为打包的app简称:
|
||
|
||
```
|
||
raise RuntimeError("Hertz Xxxxx license verification failed")
|
||
```
|
||
|
||
|
||
|
||
## 四、修改MANIFEST.in文件
|
||
|
||
将下面的hertz_studio_django_xxx改为打包的app名称
|
||
|
||
```
|
||
# 包含二进制文件
|
||
recursive-include hertz_studio_django_xxx *.py
|
||
recursive-include hertz_studio_django_xxx/migrations *.py
|
||
```
|
||
|
||
|
||
|
||
## 五、修改根目录下面的setup.py文件
|
||
|
||
- 修改成要打包的app名称(将hertz_studio_django_xxx改为打包的app名称)
|
||
|
||
```
|
||
package_name = 'hertz_studio_django_xxx'
|
||
```
|
||
|
||
- 将XXX改为app简称
|
||
|
||
```
|
||
print("欢迎使用 Hertz System xxx!")
|
||
```
|
||
|
||
- 更改下载的项目地址(将hertz_studio_django_xxx改为打包的app名称)
|
||
|
||
```
|
||
url="http://hzgit.hzsystems.cn/hertz_studio_django/hertz_studio_django_xxx", # 项目地址
|
||
```
|
||
|
||
- 更改关键词(将XXX改为app简称)
|
||
|
||
```
|
||
keywords="django XXXX verification security", # 关键词
|
||
```
|
||
|
||
- 修改project_urls(将xxx改为app简称)
|
||
|
||
```
|
||
project_urls={
|
||
|
||
"Bug Reports": "http://hzgit.hzsystems.cn/hertz_studio_django/hertz_studio_django_xxx/issues",
|
||
|
||
"Source": "http://hzgit.hzsystems.cn/hertz_studio_django/hertz_studio_django_xxx",
|
||
|
||
"Documentation": "http://hzgit.hzsystems.cn/hertz_studio_django/hertz_studio_django_xxx#readme",
|
||
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
## 六、打包
|
||
|
||
完成上述的修改后,在终端的项目输入以下命令并回车进行打包
|
||
|
||
```
|
||
python setup.py sdist
|
||
```
|
||
|
||
运行完成后会在dist目录下生成一个打包过后的文件
|