django离线脚本的使用(就是需要借助django的功能,然后写一些脚本)
在django中,我们可以创建一些离线脚本,它的意思是我们并没有启动django服务,而只是运行了django的一些配置
以便我们在脚本里完成一些,需要django环境支持的脚本操作
下面是详细用法:
# 启动django
import os
import sys
import django
# 首先,一定要把当前项目的路径加到python模块搜索的路径里
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir)
# 设置django配置文件的路径在哪
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'order_system.settings')
django.setup() # 伪造让django启动
# 将项目目录添加到模块搜索路径才能导入下面的,否则可能报错
from web import models
from utils.encrypt import md5
# 执行一些操作
models.Administrator.objects.create(username='root', password=md5("123"), mobile="1888888889")
上述是借助离线脚本,采用django带的orm操作,往数据库添加了一条数据!
当然,我们可以将离线脚本可能有很多,我们可以把离线脚本中加载Django环境的代码抽离出来,这样以后我们在其他脚本就不用频繁书写了,如:
base.py
# 启动django
import os
import sys
import django
# 首先,一定要把当前项目的路径加到python模块搜索的路径里
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir)
# 设置django配置文件的路径在哪
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bug.settings')
django.setup() # 伪造让django启动
其余脚本py中
import base
# 将项目目录添加到模块搜索路径才能导入下面的,否则可能报错
from web import models
if __name__ == '__main__':
# 执行一些操作
models.PriceStrategy.objects.create(
title='个人免费版',
price=0,
project_num=3,
project_member=2,
project_space=20,
file_size=3,
)