对于未登录的用户,所有页面都会在网站上抛出404错误。但如果我登录管理员并返回查看该网站,则所有页面都可以正常查看。
我多年来一直在使用Django CMS,之前没有遇到过这种情况。与此网站的唯一区别是默认语言是法语,在我的设置中我有:
LANGUAGES = [
('fr', 'Francais'),
]
作为我的LANGUAGES设置,这里是我的LANGUAGE_CODE
LANGUAGE_CODE = 'fr'
以下是我的urls.py
from django.conf.urls.defaults import *
from django.contrib import admin
from django.conf import settings
admin.autodiscover()
urlpatterns = patterns('',
(r'^admin/', include(admin.site.urls)),
url(r'^', include('cms.urls')),
)
if settings.DEBUG:
urlpatterns = patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
url(r'', include('django.contrib.staticfiles.urls')),
) + urlpatterns
和我的中间件......
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'cms.middleware.multilingual.MultilingualURLMiddleware',
'cms.middleware.page.CurrentPageMiddleware',
'cms.middleware.user.CurrentUserMiddleware',
'cms.middleware.toolbar.ToolbarMiddleware',
)
这可能是什么原因?
答案 0 :(得分:2)
只需添加一个加号:)
if settings.DEBUG:
urlpatterns += patterns('',
答案 1 :(得分:2)
我遇到了类似的情况:我正在使用Django-CMS的多种语言。
我的问题与我定义的CMS_LANGUAGES
变量有关:我只是解除了example from the docs的一部分。
A comment on a GitHub issue帮助我指明了正确的方向。
我之前将变量设置为:
CMS_LANGUAGES = {
...
'default': {
'fallbacks': ['en', 'de', 'fr'],
'redirect_on_fallback': False,
'public': False,
'hide_untranslated': False,
}
}
注意public
布尔值的定义。
此外,请确保您按照documentation中有关在CMS_LANGUAGES
词典中设置语言变量的说明进行操作。
用'public': True
替换上面的内容让我的事情再次起作用。