使Django不是延迟加载模块,以方便开发

时间:2013-08-13 18:55:42

标签: python django

我注意到Django延迟加载项目中使用的模块。当我第一次在我的本地机器上运行调试服务器,然后从站点加载一个页面时,调试器告诉我Django只导入了一百多个模块。

我希望Django在启动时导入所有模块,而不是等待第一个请求。这将使我的开发更方便,因为我不必在每个第一次请求上等待更多时间。

这可能吗?

2 个答案:

答案 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