我正在开发一个包含django服务器和安装模块的项目。
用户将配置他们的系统来运行我的程序,其中包括django webserver元素以及其他项目。我正在开发一个设置模块,帮助用户正确设置所有设置并设置所有相应的文件。我在设置过程中想做的事情之一本质上是一个“manage.py syncdb”命令,它可以从零开始创建一个合适的SQLite文件和表。
我可以抓住在manage.py中找到的代码并直接将其粘贴到我的设置模块中,但我不确定是否有一种更好的方法,我缺少 - 沿着两行组成的行:< / p>
import django.something
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
django.something.syncdb()
或类似的东西。我在这里错过了什么吗?
答案 0 :(得分:4)
这应该这样做:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
from django.core import management
management.call_command('syncdb', interactive=False)
您也可以
import os
import settings
from django.core.management.commands import syncdb
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
syncdb.Command().execute(noinput=True)