搜索该问题表明显然必须导入它:
from django.conf.urls import patterns
但它仍然不起作用。
ImportError: cannot import name 'patterns'
此功能已在 django 1.10 中删除。但是,可以使用这种方法有条件地添加rosetta url:
from django.conf import settings
if 'rosetta' in settings.INSTALLED_APPS:
urlpatterns.append(url(r'^rosetta/', include('rosetta.urls')))
但是,如果您尝试通过 URL http://127.0.0.1:8000/rosetta/访问 Rosetta,您可能会惊讶地发现您仍然得到一个404 Page not found
.
所以似乎包含的模式无法正常工作。但他们是。问题是有一个隐藏的要求,即访问rosetta页面时必须登录(可能是员工/超级用户?)。因此,只需访问http://127.0.0.1:8000/admin/,登录,然后再次访问 Rosetta 网址。现在它应该可以工作了。
安装确实注意到了这一点,如下所示:
因为 Rosetta 需要对 Django 项目中的某些文件具有写入权限,所以对应用程序的访问权限仅限于管理员用户(在项目的管理界面中定义)
如果您没有登录,它如何知道您是管理员?它没有,显然它没有给出信息性错误,而是完全忽略了rosetta url。