首頁  >  文章  >  後端開發  >  如何使用 AppConfig 在 Django 啟動時執行一次程式碼?

如何使用 AppConfig 在 Django 啟動時執行一次程式碼?

Linda Hamilton
Linda Hamilton原創
2024-11-01 12:49:02894瀏覽

How to Execute Code Once on Django Startup with AppConfig?

使用AppConfig 在Django 啟動時執行一次程式碼

建立Django 應用程式時,可能存在您只想執行特定程式碼一次的情況在啟動時。可以利用 Django 中間件類別來實現此目的,但在早期版本中,可能會導致程式碼執行多次。

Django 版本的解決方案

解決方案1.7

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

startup()</code>

對於1.7 之前的Django 版本,建議將啟動代碼放在INSTALLED_APPS 的__init__.py 檔案之一中。以下是一個範例:

Django 1.7 以上版本的解決方案

<code class="python"># myapp/apps.py
from django.apps import AppConfig

class MyAppConfig(AppConfig):
    name = 'myapp'
    verbose_name = "My Application"

    def ready(self):
        pass # startup code here</code>

Django 1.7 引入了AppConfig.ready() 方法,該方法允許您指定啟動代碼。使用此方法可確保程式碼在應用程式載入期間僅執行一次。

附加說明

使用 ./manage.py runserver 時,啟動程式碼可能會因為內部伺服器操作而執行兩次。但是,在典型的部署場景或自動重新載入中,程式碼僅執行一次。

以上是如何使用 AppConfig 在 Django 啟動時執行一次程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn