> For the complete documentation index, see [llms.txt](https://huataihuang.gitbook.io/cloud-atlas-draft/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://huataihuang.gitbook.io/cloud-atlas-draft/develop/python/django/startup/unstall_django_app.md).

# 完整uninstall一个Django app

我们知道Django提供了非常方便添加新的app到rpoject的方法：

```
django-admin.py startproject myapp .   # 注意这里有一个.
cd myapp
django-admin.py startapp first_app
```

但是，如何完整删除掉已经创建的`first_app`呢？

* Django提供了一个SQL删除掉app的所有表的功能：

```
./manage.py sqlclear my_app_name
```

* 编辑`settings.py`文件，移除`INSTALLED_APPS`中有关app的内容
* 如果不再需要app的文件，则从项目目录下删除掉`my_app_name`目录
* 如果app保存了媒体文件，缓存文件或其他临时文件，需要自行删除
* 其他需要清理的内容分别在：
  * views.py,, admin.py, models.py, urls.py
* 执行

```
python manage.py migrate
python manage.py syncdb
```

## 参考

* [Django: How to completely uninstall a Django app?](https://stackoverflow.com/questions/3329773/django-how-to-completely-uninstall-a-django-app)
