( django.core.exceptions.ImproperlyConfigured:无法导入“apps.accounts”。检查“mysite.apps.accounts.apps.AccountsConfig.name”是否正确

Jer*_*emi 16 python django configure django-templates

这就是它的结构apps.py 文件位于 mysite 下的 apps 下accounts 文件夹文件的apps.py 内的代码是

from django.apps import AppConfig
class AccountsConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = "apps.accounts"
Run Code Online (Sandbox Code Playgroud)

设置里面的代码是

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mysite.apps.accounts',
]
Run Code Online (Sandbox Code Playgroud)

我尝试更改'mysite.apps.accounts','mysite.apps.AccountsConfig', 并更改name = "apps.accounts"为 name ="accounts" 我是 Django 新手,并且正在遵循如何使用 Python 和 Django 制作网站 - 模型和迁移 (E04)教程。大约16:17是当我进入vscode 终端时出现错误的地方 错误是python manage.py makemigrate

ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: 无法导入 'apps.accounts'。检查 'mysite.apps.accounts.apps.AccountsConfig.name' 是否正确。请有人帮助我。

小智 36

in应该nameapps.py您输入INSTALLED_APPS(in settings.py) 的(值)相同。这是正确的。

from django.apps import AppConfig

class AccountsConfig(AppConfig):
    default_auto_field = "django.db.models.BigAutoField"
    name = "mysite.apps.accounts"
Run Code Online (Sandbox Code Playgroud)

settings.py代码:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mysite.apps.accounts',
]
Run Code Online (Sandbox Code Playgroud)


Jer*_*emi 1

这个解决方案非常违反直觉。你必须删除

class AccountsConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = "accounts"
Run Code Online (Sandbox Code Playgroud)

来自 apps.py\accounts\apps\mysite。然后运行python manage.py makemigrations并创建2 个新模型“ UserPersona”和“ ”。UserProfile终端中的输出:

mysite\apps\accounts\migrations\0001_initial.py
    - Create model UserPersona
    - Create model UserProfile
Run Code Online (Sandbox Code Playgroud)