版本:
The installation guide告诉您将以下内容添加到您的项目settings.py
中:
from django.conf import settings
if 'rosetta' in settings.INSTALLED_APPS:
urlpatterns += patterns('',
url(r'^rosetta/', include('rosetta.urls')),
)
但是,这只会导致错误:
NameError: name 'patterns' is not defined
答案 0 :(得分:0)
搜索该问题会显示one apparently has to import it:
from django.conf.urls import patterns
但它仍然没有用。
ImportError: cannot import name 'patterns'
此功能was removed in django 1.10。但是,可以使用这种方法有条件地添加rosetta URL:
from django.conf import settings
if 'rosetta' in settings.INSTALLED_APPS:
urlpatterns.append(url(r'^rosetta/', include('rosetta.urls')))
但是,如果您尝试访问网址http://127.0.0.1:8000/rosetta/上的rosetta,可能会惊讶地发现您仍然获得了404 Page not found
。
所以包含的模式似乎无法正常工作。但他们是。问题是,在访问rosetta页面时可能必须登录(可能是员工/超级用户?),这是一个隐藏的要求。所以,只需转到http://127.0.0.1:8000/admin/,登录,然后再次转到rosetta网址。现在应该可以了。
安装确实注意到了这一点:
因为Rosetta需要对您的某些文件进行写访问 Django项目,访问应用程序仅限于 仅限管理员用户(在项目的管理界面中定义)
如果您尚未登录,它如何知道您是管理员?它没有,显然不是提供信息错误,而是完全忽略了rosetta网址。