没有名为'polls.apps.PollsConfigdjango'的模块; Django项目教程2

Sho*_*unT 28 python django

所以,我一直在按照这里的教程步骤https://docs.djangoproject.com/en/1.9/intro/tutorial02/进入我应该运行此命令的步骤:

python manage.py makemigrations polls
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到此错误:

python manage.py makemigrations polls
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 2218, in_find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/site-packages/django/core/management/__init__.py", line 327, in execute
django.setup()
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/site-packages/django/apps/config.py", line 116, in create
mod = import_module(mod_path)
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/importlib/__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2212, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_an``d_load
  File "<frozen importlib._bootstrap>", line 2221, in _find_and_load_unlocked
ImportError: No module named 'polls.apps.PollsConfigdjango'; 'polls.apps' is not a package
Run Code Online (Sandbox Code Playgroud)

这是我的模特:

from django.db import models

# Create your models here.
from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)

Ala*_*air 89

第一个问题是回溯中的这个警告:

No module named 'polls.apps.PollsConfigdjango'
Run Code Online (Sandbox Code Playgroud)

这意味着您'polls.apps.PollsConfigINSTALLED_APPS设置后缺少逗号.它应该是:

INSTALLED_APPS = (
    ...
    'polls.apps.PollsConfig',
    'django....',
    ...
)
Run Code Online (Sandbox Code Playgroud)

第二个问题是警告'polls.apps' is not a package.这表明你已经安装了Django 1.8,但是你正在关注Django 1.9教程.

如果您使用的是Django 1.8,请按照1.8教程进行操作,这样就不会出现类似问题.添加投票应用INSTALLED_APPS这里所涉及的Django的1.8教程.请注意,它不使用PollsConfig.

INSTALLED_APPS = (
    ...
    'polls',
)
Run Code Online (Sandbox Code Playgroud)

  • 逗号和分号是噩梦。 (2认同)

小智 24

ImportError: No module named 'polls.apps.PollsConfigdjango'
Run Code Online (Sandbox Code Playgroud)

你忘了在列表中添加','


Rah*_*s12 23

在'polls.apps.PollsConfigdjango'之后检查逗号","


Moh*_*rei 13

你只是在 之后漏了一个逗号'polls.apps.PollsConfig'

别担心,它发生在我们最好的人身上!


小智 6

任何收到 ModuleNotFoundError: No module named 'pollsdjango' 的人

和 INSTALLED_APPS :

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

解决方案:

您忘记在“polls.apps.PollsConfig”行的末尾添加逗号(,)

INSTALLED_APPS = [
    'polls.apps.PollsConfig', <----this comma
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
Run Code Online (Sandbox Code Playgroud)