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操作,往数据库添加了一条数据!

image

当然,我们可以将离线脚本可能有很多,我们可以把离线脚本中加载Django环境的代码抽离出来,这样以后我们在其他脚本就不用频繁书写了,如:

image

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,
    )
posted @ 2023-06-29 11:13  等日落  阅读(109)  评论(0编辑  收藏  举报