由于Django项目,做的比较多app的时候,就会比较杂乱,所以我们可以将app归在某个文件夹下,这样就容易管理app了。
项目根目录下新建一个文件夹:apps
将所有的app拖到apps中,不要勾选Search for references
(重要)选中apps文件夹,右键选择Make Directory As --> Sources Root
最后在setting.py (配置文件)中添加以下代码
import sys
# sys.path是python的搜索模块的路径集
sys.path.insert(0, os.path.join(BASE_DIR,”apps”))
可能出现的错误
RuntimeError: Model class ask_for_leave.models.Ask_For_Leave_Request doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
在installapps里删除已存在的app时可能出现此错误,因为该app中的模型没有声明app_label,导致模型未与app一起被卸下,模型存在但找不到自己的归属,需要在app的所有模型中添加如下代码
# app_label填的是你app的名称
class Meta:
app_label = 'ask_for_leave'
django.urls.exceptions.NoReverseMatch: Reverse for 'checkin' not found. 'checkin' is not a valid view function or pattern name.
这是在HTML模板中使用了django的语法类似{% %},{{ }},然后里面的内容是我们注释掉的app,或者链接,它获取不到就会产生这个报错,只要把引用它的地方删除或者增添,破坏原来的语法就行