程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Django應用啟動時如何執行一波初始化添加數據?只需要簡單的三步

編輯:Python

需求: 希望在運行項目前進行一些數據初始化,包括但不限於一些全局變量、數據庫等。

 

實現方法:很簡單,只需要三步

(1)確保app被注冊到settings文件中的install_apps中:

 

(2)在該app的__init__文件中設定default_app_config:

default_app_config = 'apps.home.apps.HomeConfig'

 

(3)在該app的apps文件中,繼承AppConfig類;重寫name屬性,重寫ready方法;其中name屬性必須與注冊的app名一致;ready方法中寫入你的初始化行為邏輯代碼即可。

from django.apps import AppConfig
class HomeConfig(AppConfig):
name = "apps.Home"
def ready(self):
pass

 

(4) 執行python manage.py runserver 即可看到ready方法被調用;

 

注意的點:有些同學可能會發現ready方法被調用了兩次,這是因為你使用了python manage.py runserver該運行方式啟動項目,這種方式會啟動兩個進程,其中一個進程用於監聽用戶修改代碼後重新啟動,但在真實環境中使用uwsgi啟動項目則只會調用一次ready方法。如果你不願意啟動兩個進程,也可以使用 python manage.py runserver --noreload 啟動項目 --noreload關閉監聽代碼修改重啟程序的意思。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved