django入门进阶14其他异常报错等

django常见报错的解决方案汇总

报错:djanog xxx doesn’t declare an explicit app_label and isn’t in an application

解决方案01(INSTALLED_APPS)

报错举例:Runtime Error: Model class addresstest.models.address_info doesn’t declare an explicit app_label and isn’t in an application in INSTALLED_APPS.
解决: 需要在 settings.py 中的INSTALLED_APPS 添加 app包名称: addresstest
参考:django:doesn’t declare an explicit app_label and isn’t in an application in INSTALLED_APPS.:https://blog.csdn.net/wang603603/article/details/86932856

解决方案02(django.contrib.sites)

在settings.py中增加

1
2
3
4
INSTALLED_APPS = [
...
'django.contrib.sites',
]

参考:doesn’t declare an explicit app_label and isn’t in an application in INSTALLED_APPS.:https://www.cnblogs.com/crave/p/11043786.html

解决方案03(import path)

补充import为完整路径
from models import User => from users.models import User
参考:Django开发BUG记录—RuntimeError: Model class models.User doesn’t declare an explicit app_label and isn’:https://www.pianshen.com/article/743343293/

解决方案04(abs_path)

从绝对路径导包会报错,改为相对路径

1
2
3
4
# from meiduo.apps.users import views

from . import views
urlpatterns=[]

参考:Django项目一个小错误doesn’t declare an explicit app_label:https://blog.csdn.net/u011519550/article/details/82354262

解决方案05(我的方案)(pycharm auto import problem)

将from xxx.yy.zz import 改为 from zz import
原因python manage.py启动时:python /xxx/yyy/zz.py。
会自动加入sys.path:/xxx/yyy/
导致pycharm自动提示import路径不完全正确,从而django的model的import会尝试定位名为yy.zz的app,实际app_name是zz
简单来说就是pycharm自动提示import路径有误的问题。修改后pycharm提示代码有误,但实际可正确执行

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×