Django:如何完全卸载Django应用程序?
完全卸载Django应用程序,完成数据库删除的过程是什么?
-
Django有一个方便的pipe理命令,可以给你必要的SQL来删除应用程序的所有表。 有关更多信息,请参阅sqlclear文档 。 基本上,运行
./manage.py sqlclear my_app_name
你将得到应该执行的SQL语句,以摆脱数据库中应用程序的所有痕迹。 您仍然需要将这些语句复制并粘贴(或pipe道)到您的SQL客户端中。 -
要从您的项目中删除应用程序,您需要做的就是将其从
INSTALLED_APPS
中移除到项目的settings.py
。 Django将不再加载应用程序。 -
如果您不再希望应用程序的文件四处闲逛,请从项目目录或其所在的PYTHONPATH上的其他位置删除应用程序目录。
-
(可选)如果应用程序在某处存储了媒体文件,caching文件或其他临时文件,则可能还需要删除这些文件。 也要警惕可能会从应用程序剩余的会话数据。
-
(可选)我也会删除任何陈旧的内容types。
像这样。
from django.contrib.contenttypes.models import ContentType for c in ContentType.objects.all(): if not c.model_class(): print "deleting %s"%c c.delete()
- 在
INSTALLED_APPS
不必要的应用程序的行中注释settings.py
- 删除所有文件夹
__pycache__
并在您的项目中migrate
- 在
models.py
删除不必要的模型 - 删除
views.py
,admin.py
等所有的导入链接 - 删除你不必要的应用程序的
urls.py
所有链接 - 在数据库中删除与应用程序相关的不必要的表格(我在帮助程序“Valentina Studio”中执行)
- 删除应用的文件夹
- 在命令行中执行:
python manage.py migrate
和python manage.py syncdb
Django应用程序是一个* .py文件的“集合”和一个Django应用程序名称的目录。 所以你可以简单地删除所有* .py文件的整个文件夹
要从数据库中“删除”表,您应该使用DELETE FROM <app-name_table-names>
而且,你必须从根目录下的setting.py中删除行app-name