2012-07-08 57 views

回答

27

您需要刪除或檢查以下內容:

  • INSTALLED_APPS移除該應用。
  • 刪除該應用中模型的所有數據庫表(請參閱數據庫中的app_name_model_name)。
  • 檢查是否有其他應用程序導入(可能是他們正在從該應用程序導入代碼)。
  • 檢查模板是否使用該應用程序的任何模板標籤(如果該應用程序不再存在,將會產生錯誤)。
  • 檢查你的設置文件,看看你是否沒有使用該應用程序的任何代碼(如your_app/context_processors.py中的上下文處理器,如果它有文件)。
  • 檢查應用程序的任何靜態內容是否在其他應用程序中使用。
  • 完全刪除應用程序目錄。

如果一直遵循正確的編碼原則(即每個Django應用程序是Web應用程序的自包含的部分),那麼大多數情況下,上面會不會出現你。但是當其他應用程序確實使用該應用程序的某些部分時,首先需要檢查該應用程序是否需要重構,然後再刪除該應用程序。

+1

嗨西梅恩,謝謝你的清單! :-) – 2015-04-22 10:19:04

+5

關於django_contet_type,auth_permission和其他auth表(除了django_migration,如果需要的話)? – toscanelli 2016-01-22 16:38:42

+1

這個答案補充了另一個:https://stackoverflow.com/questions/35745220/how-to-remove-an-app-from-a-django-projects-and-all-its-tables(它提到了auth_permission和其他表) – elias 2017-07-13 17:34:00

0

它取決於應用程序(它是如何安裝的,它是如何使用的等),但通常您可以從INSTALLED_APPS中刪除應用程序,然後刪除數據庫中的表。

相關問題