我正在制作一个简单的 django 站点,为此我使用了 django-registration 扩展。我可能应该补充一点,我刚刚将 django-registration 源复制到我的项目中,就好像它是我自己的应用程序一样 - 我正在和其他人一起做这个网站,我们的 django 环境配置不同,但我们通过共享网站的代码svn - 我不希望我们每个人都单独安装 django-registration。
在根 urls.py 文件中,我有:
import registration
...
urlpatterns = (
...
url(r'^accounts/',include(registration.backends.default.urls),
)
'backends' 和 'default' 是注册应用程序中的包。
在 Aptana 中,代码检查错误消息指出:“Undefined variable from import: backends” 在我的测试服务器的调试模式中,错误是“'module' object has no attribute 'backends'”
如果我这样做from registration import backends
,include(backends.default.urls)
则找不到“默认”。
当我这样做时它可以工作from registration.backends import default
,include(default.urls)
但我不想这样做,因为我无法快速看到它链接到什么......
为什么环境不能正确加载包?在同一个文件中,我使用其他 URLconf 包含包含包名称之类include(django.contrib.admin)
的路径,并且这些路径没有问题。是不是因为我复制了注册源而不是安装应用程序?如果是这样,那么提供所需源代码可移植性的正确方法是什么?