Django CMS页面为未登录管理员的用户投掷404 [英] Django CMS pages throwing 404 for users who are not logged in to the admin

查看:165
本文介绍了Django CMS页面为未登录管理员的用户投掷404的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所有页面在未登录的用户的网站上引发404错误,但是如果我登录管理员并返回查看该网站,则所有页面都可以正常显示。



我一直在使用Django CMS多年,以前没有遇到过。与本网站的唯一区别是默认语言是法语,在我的设置中我有:

  LANGUAGES = [
('fr','Francais'),
]

作为我的LANGUAGES设置是我的 LANGUAGE_CODE

  LANGUAGE_CODE ='fr'

这是我的 urls.py

$ b $来自django.contrib的django.conf.urls.defaults导入的
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
$ b admin.autodiscover()

urlpatterns = patterns('',
(r'^ admin /',include(admin.site.urls)),
url(r'^',include('cms.urls')),


如果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',

可能是什么原因这个?

解决方案

只需添加一个加号:)

  if settings.DEBUG:
urlpatterns + = patterns('',


All the pages throw a 404 error on a site for users who are not logged in. But if I log in to the admin and go back to view the site, all the pages are fine and viewable.

I've been using Django CMS for years and haven't come across this before. The only difference with this site is the default language is french, in my settings I have:

LANGUAGES = [
    ('fr', 'Francais'),
]

as my LANGUAGES setting and here is my LANGUAGE_CODE

LANGUAGE_CODE = 'fr' 

Here are my 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

and my middleware...

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',
)

What could be the cause of this?

解决方案

Just add a plus sign :)

if settings.DEBUG:
    urlpatterns += patterns('',

这篇关于Django CMS页面为未登录管理员的用户投掷404的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆