4

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

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

这可能吗?

4

2 回答 2

0

我最终只是在我的 manage.py 中添加了这样的部分,就在该execute_from_command_line行之前:

argv_string = ' '.join(sys.argv)
if ('gunicorn' in argv_string) or ('runserver' in argv_string):
    import all_my_stuff
于 2013-08-17T21:04:13.867 回答
0

它看起来像这个库:https ://github.com/ojii/django-load ,它相当简单,具有从 Django 中加载模块的功能。如果您将该技术与 Django 入口点挂钩(如http://eldarion.com/blog/2013/02/14/entry-point-hook-django-projects/)结合起来,您应该能够显式加载您的模块在启动时。(我自己没有尝试过,但看起来可行。)

于 2013-08-17T03:46:39.987 回答