我注意到Django延迟加载项目中使用的模块。当我第一次在我的本地机器上运行调试服务器,然后从站点加载一个页面时,调试器告诉我Django只导入了一百多个模块。
我希望Django在启动时导入所有模块,而不是等待第一个请求。这将使我的开发更方便,因为我不必在每个第一次请求上等待更多时间。
这可能吗?
答案 0 :(得分:0)
看起来这个库:https://github.com/ojii/django-load,相当简单,具有从Django中加载模块的功能。如果将该技术与Django入口点挂钩(如http://eldarion.com/blog/2013/02/14/entry-point-hook-django-projects/)结合使用,则应该能够在启动时显式加载模块。 (我自己没试过,但看起来很可行。)
答案 1 :(得分:0)
我最后只是在execute_from_command_line
行前面的manage.py中添加了这样的部分:
argv_string = ' '.join(sys.argv)
if ('gunicorn' in argv_string) or ('runserver' in argv_string):
import all_my_stuff