【问题标题】:django 1.3 server errordjango 1.3 服务器错误
【发布时间】:2013-11-09 14:29:06
【问题描述】:

我正在使用 django 1.3 版。 Python manage.py runserver 0.0.0.0:8000 给出以下错误。

Validating models...

Unhandled exception in thread started by < bound method Command.inner_run of < django.contrib.staticfiles.management.commands.runserver.Command object at 0x20eb110>>

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", line 88, in inner_run
    self.validate(display_num_errors=True)

  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)

  File "/usr/local/lib/python2.7/dist-packages/django/core/management/validation.py", line 36, in get_validation_errors
    for (app_name, error) in get_app_errors().items():

  File "/usr/local/lib/python2.7/dist-packages/django/db/models/loading.py", line 146, in get_app_errors
    self._populate()

  File "/usr/local/lib/python2.7/dist-packages/django/db/models/loading.py", line 64, in _populate
    self.load_app(app_name)

  File "/usr/local/lib/python2.7/dist-packages/django/db/models/loading.py", line 78, in load_app
    models = import_module('.models', app_name)

  File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)

  File "/usr/local/lib/python2.7/dist-packages/tastypie/models.py", line 6, in <module>
    from tastypie.utils import now

  File "/usr/local/lib/python2.7/dist-packages/tastypie/utils/__init__.py", line 1, in <module>
    from tastypie.utils.dict import dict_strip_unicode_keys

  File "/usr/local/lib/python2.7/dist-packages/tastypie/utils/dict.py", line 1, in <module>
    from django.utils.encoding import smart_bytes
ImportError: cannot import name smart_bytes

【问题讨论】:

    标签: django python-2.7 django-models


    【解决方案1】:

    它与django 1.4.2+ 工作正常,我使用的是 django1.4 然后升级它

    pip install django==1.4.5 --upgrade
    

    【讨论】:

      【解决方案2】:

      Django 1.3smart_bytes 的问题,并且从您的 traceback 显示相同的错误,它已在 Django 1.4 中得到解决, 尝试将 Django 升级到最新版本的 1.5

      【讨论】:

      • 是的 django 1.3 和 django-tastypie 版本 0.10.0 给出了这个错误。我升级 django 或将 django-tastypie 降级到 0.9.11 工作。
      【解决方案3】:

      https://github.com/django/django/blob/master/django/utils/encoding.py#L149

      另外,在升级您的 Django 之前,请务必检查release notes

      更新:

      很抱歉,哇,真是个脑残;)。

      我不知道该函数的完整历史,但是查看 Github 上的 django.utils.encoding .. 标记为 1.3.7;此文件不包含 Tastypie 尝试导入的函数。 https://github.com/django/django/blob/1.3.7/django/utils/encoding.py

      如果您无法升级 Django,则需要修补您的 Tastypie.utils.dict 文件以使用您拥有的文件。

      【讨论】:

      • 只有当我有那么高的声誉时,我才会否决这个答案。请仔细查看回溯。
      猜你喜欢
      • 1970-01-01
      • 2018-08-19
      • 2017-02-15
      • 1970-01-01
      • 2023-03-25
      • 2011-03-18
      • 2011-06-10
      • 1970-01-01
      • 2021-11-03
      相关资源
      最近更新 更多