開發必備知識點--django專案啟動時,url載入之前,執行某個.py檔案
阿新 • • 發佈:2018-12-08
django專案啟動時,自定義執行某個py檔案
在任意的app下的apps.py中的Config類下自定義ready()方法,並且呼叫autodiscover_modules。
app01/apps.py
1 from django.apps import AppConfig 2 from django.utils.module_loading import autodiscover_modules 3 4 5 class App01Config(AppConfig): 6 name = 'app01' 7 8 def ready(self): 9 autodiscover_modules('xxx.py')
app02/apps.py
1 from django.apps import AppConfig 2 from django.utils.module_loading import autodiscover_modules 3 4 class App02Config(AppConfig): 5 name = 'app02' 6 7 def ready(self): 8 autodiscover_modules('xxx.py')
為了驗證我們在urls.py列印一句話
1 from django.contrib importadmin 2 from django.urls import path 3 4 print('路由開始載入') 5 urlpatterns = [ 6 path('admin/', admin.site.urls), 7 ]
然後分別在兩個專案目錄下新建xxx.py檔案,程式碼如下
1 # app01/xxx.py 2 print('app01下的xxx.py') 3 4 # app02/xxx.py 5 print('app02下的xxx.py')
一切都準備好了,開始執行吧。
效果圖已經說明我們自定義執行某個py檔案成功了。
注意:為什麼會執行兩遍呢?因為WiMAX的django是預設重啟的。會自動檢測我們的程式碼是否改動。
如果不想看到,執行的時候命令:python manage.py runserver --noreload