我试图在Django(1.7.1)中构建一个实时聊天应用程序。看来我需要安装Redis和ishout.js。所以我按照说明安装了它们。
在Django制作项目后,我把“drealtime'在INSTALLED_APPS下,并输入:
'drealtime.middleware.iShoutCookieMiddleware'
正上方:
'django.contrib.sessions.middleware.SessionMiddleware'
正如它所说的MIDDLEWARE_CLASSES
下的。我把命令像
python manage.py startapp example
但我仍然有此导入错误消息:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute
django.setup()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/apps/config.py", line 87, in create
module = import_module(entry)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/drealtime/__init__.py", line 4, in <module>
from django.utils import simplejson as json
在我搜索了Django官方网站后,我发现不再使用simplejson并从新的Django中删除了。我不知道为什么会这样。 请提供有关此问题的任何反馈以及解决此问题的可能补救措施。
答案 0 :(得分:14)
您使用的是django-realtime
的过时版本。
将其升级到最新版本,fixed the 1.7 compatibility:
pip install django-realtime --upgrade
如果错误仍然存在,请直接从github,master branch安装:
$ pip install git+https://github.com/anishmenon/django-realtime.git --upgrade
仅供参考,修复:
try:
from django.utils import simplejson as json
except:
import simplejson as json
裸露的例外条款 - 内部的zen程序员正在杀我低语except ImportError
,except ImportError
,except..
答案 1 :(得分:5)
我认为上述答案是解决方法。
Django过去常常在 django.utils 中附带 simplejson ,但这已在Django 1.5中删除,因为 json 模块可用在Python的标准库中。
因此,您现在应该import json
而不是from django.utils import simplejson
,并在调用simplejson方法时进行必要的更改。
答案 2 :(得分:2)
这是应用程序本身的一个错误;不幸的是the error still persists in the master branch在git。
我提交了一个拉取请求来修复错误;同时你可以做到以下几点:
pip uninstall django-realtime
pip install git+https://github.com/burhan/django-realtime.git@import-fix