无法访问罗塞塔
Cannot access rosetta
版本:
- Python 3.5.1
- Django 1.10
- django-rosetta 0.7.13
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
搜索该问题后发现 one apparently has to import it:
from django.conf.urls import patterns
但是还是不行。
ImportError: cannot import name 'patterns'
这个函数was removed in django 1.10。但是,可以使用这种方法有条件地添加 rosetta urls:
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 页面时必须登录(可能是 staff/super 用户?)。因此,只需转到 http://127.0.0.1:8000/admin/,登录,然后再次转到 rosetta url。现在应该可以了。
安装确实注意到了这一点,有点像:
Because Rosetta requires write access to some of the files in your
Django project, access to the application is restricted to the
administrator user only (as defined in your project’s Admin interface)
如果您没有登录,它如何知道您是管理员?它没有,而且显然它没有给出信息性错误,而是完全忽略了 rosetta urls。
版本:
- Python 3.5.1
- Django 1.10
- django-rosetta 0.7.13
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
搜索该问题后发现 one apparently has to import it:
from django.conf.urls import patterns
但是还是不行。
ImportError: cannot import name 'patterns'
这个函数was removed in django 1.10。但是,可以使用这种方法有条件地添加 rosetta urls:
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 页面时必须登录(可能是 staff/super 用户?)。因此,只需转到 http://127.0.0.1:8000/admin/,登录,然后再次转到 rosetta url。现在应该可以了。
安装确实注意到了这一点,有点像:
Because Rosetta requires write access to some of the files in your Django project, access to the application is restricted to the administrator user only (as defined in your project’s Admin interface)
如果您没有登录,它如何知道您是管理员?它没有,而且显然它没有给出信息性错误,而是完全忽略了 rosetta urls。