什么是离线脚本
简单理解即是不需要运行django,就像我们平时运行一个简单的py文件一样,但是却可以完成类似运行了django才可以完成的工作。
举一个数据库插入一条数据的例子如下:
代码如下:
- 在这里为了方便,直接写成了一个base文件,方便了以后直接导入复用!
"""
初始化动态表,在动态表中添加一些数据,方便操作
"""
"""
初始化动态表,在动态表中添加一些数据,方便操作
"""
import os
import sys
import django
# 获取项目的根目录
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir) # 添加到系统环境变量
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Sass_bug_mage.settings")
# 加载项目的配置文件,Sass_bug_mage是项目
django.setup() # 启动django
# 上面必须写
编写离线脚本
# 离线脚本创建价格策略【免费版】
from scripts import base# 导入base配置文件
import os
import sys
import django
# 获取项目的根目录
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir) # 添加到系统环境变量
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "demos.settings") # 加载项目的配置文件,demos是项目
django.setup() # 启动django
# 上面必须写
from web import models
def run_init_():
exists = models.PricePolicy.objects.filter(category=1, title='个人免费版').exists()
if not exists:
models.PricePolicy.objects.create(
category=1,
title='个人免费版',
price=0,
project_num=3,
project_member=2,
project_space=20,
per_file_size=5
)
if __name__ == '__main__':
run_init_()
- 在这里直接写成一个方法的形式,并使用面函数来处理!
运行结果
![](https://img.haomeiwen.com/i20557576/e4821a20f57658ba.png)
网友评论