首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法进入罗塞塔

无法进入罗塞塔
EN

Stack Overflow用户
提问于 2017-06-13 10:45:09
回答 1查看 394关注 0票数 0

版本:

  • Python 3.5.1
  • Django 1.10
  • django-rosetta 0.7.13

安装指南告诉您将以下内容添加到项目的settings.py

代码语言:javascript
复制
from django.conf import settings

if 'rosetta' in settings.INSTALLED_APPS:
    urlpatterns += patterns('',
        url(r'^rosetta/', include('rosetta.urls')),
    )

但是,这只会导致一个错误:

代码语言:javascript
复制
NameError: name 'patterns' is not defined
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-13 10:45:09

对这个问题的搜索揭示了显然要进口它。

代码语言:javascript
复制
from django.conf.urls import patterns

但还是不起作用。

代码语言:javascript
复制
ImportError: cannot import name 'patterns'

这个函数在django 1.10被移走。但是,可以使用这种方法有条件地添加rosetta urls:

代码语言:javascript
复制
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

因此,所包含的模式似乎不能正常工作。但他们确实是。问题是,有一个隐藏的要求,一个必须登录时,访问罗塞塔页面(可能与工作人员/超级用户?)。所以,只需访问http://127.0.0.1:8000/admin/,登录,然后再转到rosetta url。现在该起作用了。

安装确实注意到了以下几点:

因为Rosetta需要对Django项目中的某些文件进行写访问,所以对应用程序的访问仅限于管理员用户(如项目的管理接口中定义的)。

如果您没有登录,它如何知道您是管理员?它没有,而且显然没有提供一个信息错误,它完全忽略了rosetta urls。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44519301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档