作为使用Django的初学者,我试图添加一些模块用于测试Django,但我有一个关于importError的问题,我已经搜索了解决方案但没有成功。以下是我的情况
该项目是在我的PC J:\上创建的,而python包安装在C:上。根据监护人的安装指南,必须在django的后端添加以下代码:
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend', # default
'guardian.backends.ObjectPermissionBackend',)
问题来了,当我把监护人的应用程序放在mysite目录下时,用'guardian'配置install_apps设置并启动syncdb,错误声明如下,我认为这是因为django的filw不明白是什么是“guradian”真的是
文件“J:\ mysite \ guardian \ conf \ settings.py”,第6行,中 提出不正确的配置(“为了使用django-guardian” django.core.exceptions.ImproperlyConfigured:为了使用django-guardian的O bjectPermissionBackend授权后端你必须配置ANONYMOUS_USE 设置模块中的R_ID
因此,我将'guardian'文件夹移到Django的contrib文件夹下,添加sys路径并使用'django.contrib.guardian'配置install_app设置。但是,我最终得到了importerror。
答案 0 :(得分:1)
从错误消息中可以看出,您需要为您的站点添加匿名用户的用户ID。
创建一个用户(可能是匿名的)并将用户的id放在settings.py文件中 使用shell从数据库中获取用户标识。
将ID放在设置文件中:
ANONYMOUS_USER_ID = <Your anonymous USER_ID>
只需查看django-guardian应用程序的文档。它还指明了这一点:
http://packages.python.org/django-guardian/configuration.html