一、脚本

在项目中,新建script.py

# django 脚本化启动
import os, django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', # django 脚本化启动
import os, django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'def_proj01.settings')
django.setup()

二、使用示例

一般用来做外部调用或者测试使用

# django 脚本化启动
import os, django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'def_proj01.settings')
django.setup()

from api import models

author = models.Author.objects.first()
print(author.name)
print(author.detail.mobile)

detail = models.AuthorDetail.objects.first()
print(detail.mobile)
# django 脚本化启动
import os, django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'def_proj01.settings')
django.setup()

from api import models

author = models.Author.objects.first()
print(author.name)
print(author.detail.mobile)

detail = models.AuthorDetail.objects.first()
print(detail.mobile)
print(detail.author.name)

三、其他使用场景

其实 Pycharm 也是使用这个操作来启动 Django 的

mark

我们编辑启动配置时,会发现和上面的配置一致

mark

另外,wsgi.py同样也是

wsgi.py

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'def_proj01.settings')

application = get_wsgi_application()