修改inspectdb之后,我想在加载web上的索引页时运行它。所以,在我看来视图.py-def index,我正在尝试下一步:
def index(request):
subprocess.Popen("rm /path/app/models.py", shell=True)
subprocess.Popen("python2.7 /path/manage.py inspectdb_New > /path/app/models.py", shell=True)
return render_to_response('index/index.html', context_instance = RequestContext(request))
那是行不通的。我试过了操作系统, 子流程调用当然,但它仍然不起作用。 至少对我来说,看起来我不能改变型号.py但我不知道有什么问题。。。你知道吗
有什么主意吗?你知道吗
谢谢。你知道吗
你的问题有两个部分: a) 您希望shell在调用view函数时执行某些操作。我的闹钟已经响了。 b) 您想加载新模型。不会发生的。必须重新加载才能加载新代码(模型自省等)。可能您使用runserver命令,看看Django autoreloader代码:https://github.com/django/django/blob/master/django/utils/autoreload.py
它跟踪gen\u filenames()列出的文件,并在更改某些内容时重新加载。您的模型未列出,因此对代码的更改不会反映出来。你知道吗
我会触摸一些东西或删除.pyc文件来强制重新加载程序。你知道吗
你不能改变你的想法型号.py因为模型(和其他python代码)只在服务器启动时加载。你知道吗
相关问题 更多 >
编程相关推荐