首页 >后端开发 >Python教程 >如何在 Django 启动时只执行一次代码?

如何在 Django 启动时只执行一次代码?

Linda Hamilton
Linda Hamilton原创
2024-11-03 03:29:30856浏览

How to Execute Code Only Once on Django Startup?

Django 启动时执行一次代码

创建自定义 Django 中间件类时,通常只需要在启动时执行一次代码。但是,使用 sdolan 概述的标准方法可能会导致所需的代码被执行两次。

解决方案

对于 Django 版本 1.7,确保代码只执行一次及以上,利用 Django 提供的新钩子。在应用程序的 apps.py 文件中:

<code class="python">from django.apps import AppConfig
class MyAppConfig(AppConfig):
    name = 'myapp'
    verbose_name = "My Application"
    def ready(self):
        pass # Your startup code here</code>

对于 1.7 之前的 Django 版本,将启动代码放在 INSTALLED_APPS 的任意一个 __init__.py 文件中:

<code class="python">def startup():
    pass # Load a big thing

startup()</code>

当使用./manage.py runserver,由于服务器验证,此代码将执行两次。但是,在生产部署或自动服务器重新加载期间,代码只会执行一次。

以上是如何在 Django 启动时只执行一次代码?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn