【发布时间】:2018-11-22 00:10:51
【问题描述】:
我希望在服务器启动时执行这些代码行(开发和生产):
from django.core import management
management.call_command('syncdb', interactive=False)
将其放入settings.py 不起作用,因为它需要已经加载设置。
将它们放在视图中并从外部访问该视图也不起作用,因为有一些中间件使用数据库并且这些中间件会失败并且不允许我访问该视图。
将它们放在中间件中会起作用,但每次访问我的应用时都会调用它。一个可能的解决方案可能是创建一个完成所有工作的中间件,然后将其自身从MIDDLEWARE_CLASSES 中删除,因此不再调用它。我可以在没有太多猴子补丁的情况下做到这一点吗?
【问题讨论】:
标签: python django django-middleware