【问题标题】:django tutorial no module named staticfilespolls errordjango教程没有名为staticfilespolls的模块错误
【发布时间】:2014-05-19 02:15:25
【问题描述】:

我之前完成了教程的第一部分,卡住了,意识到教程有多个版本,删除了 polls 和 mysite 目录并重新开始。但是,当我运行

$ python manage.py sql polls 结果是:

     c:\Python27\Scripts\mysite>python manage.py sql polls
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
399, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 242,
 in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 280,
 in execute
    translation.activate('en-us')
  File "C:\Python27\lib\site-packages\django\utils\translation\__init__.py", lin
e 130, in activate
    return _trans.activate(language)
  File "C:\Python27\lib\site-packages\django\utils\translation\trans_real.py", l
ine 188, in activate
    _active.value = translation(language)
  File "C:\Python27\lib\site-packages\django\utils\translation\trans_real.py", l
ine 177, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File "C:\Python27\lib\site-packages\django\utils\translation\trans_real.py", l
ine 159, in _fetch
    app = import_module(appname)
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 40, in im
port_module
    __import__(name)
ImportError: No module named staticfilespolls

在settings.py中

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles'
    'polls',
)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

我不知道错误来自哪里。

【问题讨论】:

  • 'django.contrib.staticfiles'后面需要一个逗号

标签: python django sqlite django-settings django-staticfiles


【解决方案1】:

INSTALLED_APPS 设置中的django.contrib.staticfiles 后面缺少逗号:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',  # HERE
    'polls',
)

没有逗号,python 将 django.contrib.staticfilespolls 字符串解释为一个字符串。

演示:

>>> s = ('what', 
...      'a',
...      'wonderful'
...      'world')
>>> s
('what', 'a', 'wonderfulworld')

>>> s = ('what',
...      'a',
...      'wonderful',
...      'world')
>>> s
('what', 'a', 'wonderful', 'world')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-02
    • 2016-03-20
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    相关资源
    最近更新 更多