2

私は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
4

3 に答える 3

6

django 1.4.2+で正常に動作し、django1.4 を使用してからアップグレードしました

pip install django==1.4.5 --upgrade
于 2014-01-07T06:50:55.213 に答える
2

Django 1.3には の問題がありsmart_bytes、トレースバックから同じエラーが表示されます。Django 1.4 で解決されています。Djangoを最新バージョンの1.5にアップグレードしてみてください。

于 2013-10-30T07:37:30.877 に答える
0

https://github.com/django/django/blob/master/django/utils/encoding.py#L149を参照してください

また、 Django をアップグレードする前に、必ずリリース ノートを確認してください。

アップデート:

申し訳ありません、うわー、なんて頭がおかしくなりました;)。

その関数の完全な履歴はわかりませんが、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 ファイルにパッチを適用して、既存のもので動作するようにする必要があります。

于 2013-10-30T07:45:21.970 に答える