關於錯誤:RuntimeError: Model class lufeiapi.apps.user.models.User doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS 的解決方案


from lufeiapi.apps.user.models import User   # 為什么會報錯  即無法使用絕對路徑

將上述代碼改為相對路徑即可!原因未知
from .models import User


上述的解決方案的前提是 在內部的apps.py里的設置如下所示:
from django.apps import AppConfig


class UserConfig(AppConfig):
name = 'user'
verbose_name = '用戶中心'

上面是在同一app內導入模塊,對應不同的app組件導入如何處理:
如下所示:在store這個app下的views.py 導入:
from midterm.apps.car.models import Site,Site_photo

會發現報錯:如上所示



如果換種方式導入:
from ..car.models import Site,Site_photo

同樣會報錯:ValueError: attempted relative import beyond top-level package




最終解決方式如下:


  在同一app下,在apps.py 這樣設置即可:
    
from django.apps import AppConfig


class UserConfig(AppConfig):
name = 'user'
verbose_name = '用戶中心'

導入時,直接用相對導入即可 from .models import User



跨app導入時:
需要將被導入的app下的apps.py這樣設置:
from django.apps import AppConfig


class UserConfig(AppConfig):
name = 'midterm.apps.user' //即在環境變量下一步一步的走到位
verbose_name = '用戶中心'

使用該app下的模塊時,直接用絕對路徑即可 ; from midterm.apps.user.model import User

  



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM