我注意到在django項目中註冊應用程序的不同方法。 例如,如果我有一個名爲Catalog的應用程序,可以在settings.py中使用應用程序'catalog'的名稱或更長的名稱'catalog.apps.CatalogConfig'。 有什麼區別,哪一個更準確的方式來註冊一個應用程序?正確的方法在Django註冊應用程序
0
A
回答
1
你(應用程序用戶)應該只關心應用程序的名稱:
INSTALLED_APPS = (
...
'rock_n_roll',
...
)
這是因爲應用程序作者子類AppConfig
配置和他們的應用程序提供正確的名稱:
# rock_n_roll/apps.py
from django.apps import AppConfig
class RockNRollConfig(AppConfig):
name = 'rock_n_roll'
verbose_name = "Rock ’n’ roll"
這將導致
RockNRollConfig
被使用時INSTALLED_APPS
只包含rock_n_roll
。這使您可以使用AppConfig
功能,而無需用戶更新其INSTALLED_APPS
設置。除了這個用例之外,最好避免使用default_app_config
,而是在INSTALLED_APPS
中指定應用配置類,如下所述。
爲什麼要使用AppConfig
?
重要的是要明白,Django應用程序只是一組與代碼框架的各個部分交互的代碼。沒有像Application對象那樣的東西。然而,Django需要與已安裝的應用程序進行交互,這主要是爲了配置和內省。這就是爲什麼應用程序註冊表爲每個已安裝的應用程序在
AppConfig
實例中維護元數據的原因。
相關問題
- 1. 在應用程序正確註冊
- 2. 在Google應用程序引擎應用程序中註冊jdbc驅動程序的正確方法
- 3. Django NoReverseMatch註冊應用程序
- 4. 註冊應用程序的指令不正確
- 5. 如何正確更新應用程序中的GCM註冊ID
- 6. Google Data/OAuth/AppEngine/Python - 正確註冊一個Web應用程序
- 7. 在Python中註冊信號處理程序的正確方法是什麼?
- 8. 應用程序註冊
- 9. 應用程序註冊
- 10. 註冊iphone應用程序
- 11. 錯誤overiding保存方法,同時擴展Django註冊應用程序
- 12. Django REST框架 - 註冊/驗證新用戶的正確方法是什麼?
- 13. 如何公開應用程序模型的註冊方法
- 14. 誰擁有註冊的微軟應用程序註冊門戶應用程序?
- 15. {{form}}標記如何在Django註冊應用程序中工作
- 16. 使用ServiceLocator引導程序在MVVM應用程序中註冊事件處理程序的正確位置?
- 17. 後整合懶惰註冊與Django註冊的方法
- 18. 應用程序的註冊表錯誤的Django 1.8
- 19. C2DM正確註冊
- 20. 什麼是註冊用戶配置文件的正確方法?
- 21. 取消註冊偵聽器時調用super.onStop()的正確方法
- 22. 註冊後重定向用戶的正確方法
- 23. 使用Unity註冊EF4 ObjectContext的正確方法?
- 24. 在註冊後獲取令牌的正確方法是什麼?
- 25. 在WinForms應用程序中引用log4net DLL的正確方法
- 26. Django項目/應用程序佈局 - 正確的方式?
- 27. 在Manifest中註冊應用程序類?
- 28. 在mvc應用程序中註冊ServiceRoute?
- 29. 註冊Delphi應用程序在iOS
- 30. 以編程方式在Azure上註冊應用程序AD