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

Linda Hamilton
發布: 2024-11-01 12:49:02
原創
820 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!