当我有一个有助于上传文件的视图时,我希望它存储在数据库中,这只有在我运行syncdb时才有可能。但是,到现在为止我知道如何在python命令行运行python manage.py syncdb。当我上传一些数据时,如何让它自动运行?
答案 0 :(得分:3)
有点hacky方式:
import sys
sys.argv.append('syncdb')
from django.core.management import execute_manager
import settings # Your project's settings. Assumed to be in the same directory.
execute_manager(settings)
答案 1 :(得分:1)
您随时可以致电
os.system('python /path/manage.py syncdb')
这应该运行你的syncdb进程,但是,我认为有更好的方法可以解决这个问题而不使用syncdb。
哦,你需要使用能够回答所有问题的标志。
答案 2 :(得分:1)
在每次上传文件时调用syncdb
本身都是错误的,但回答了您的问题。从内部代码中调用syncdb
:
from django.core.management.commands.syncdb import Command as SyncDbCommand
SyncDbCommand().handle_noargs()
答案 3 :(得分:1)
Django的官方方式为Running management commands from your code