RuntimeError: Model class users.models.UserProfile doesn't declare an explicit app_label and is

 

环境

    python3.6

    django2.0

在使用django-rest-framework搭建网站中,遇到了

File "C:\Users\h\DjangoWeb\MxShop\apps\users\views.py", line 11, in <module>
  from .models import VerifyCode
File "C:\Users\h\DjangoWeb\MxShop\apps\users\models.py", line 9, in <module>
  class UserProfile(AbstractUser):
File "C:\Users\h\DjangoWeb\MxShop\venv\lib\site-packages\django\db\models\base.py", line 108, in __new__
  "INSTALLED_APPS." % (module, name)
  RuntimeError: Model class users.models.UserProfile doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

报错。

 

网上的解决方法由如下:

(1)引用路径不正确,因为在配置文件中我们已经告诉Django去apps下去找各个app了,所以引用各app下的模型文件时,直接from operation即可

from apps.operation.models import CourseComments, UserFavorite, UserMessage, UserCourse, UserAsk

将路径改为

from operation.models import CourseComments, UserFavorite, UserMessage, UserCourse, UserAsk

(2)在settings.py中改INSTALLED_APPS。。

(3)以上的方法我尝试了行不通,后来在apps.users.apps.py(与model.py同目录)文件中发现是我设置出错导致。

原先

from django.apps import AppConfig


class UsersConfig(AppConfig):
    name = 'apps.users'
    verbose_name = "用户管理"

 改为

from django.apps import AppConfig


class UsersConfig(AppConfig):
    name = 'users'
    verbose_name = "用户管理"
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值