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