【问题标题】:Can't access admin page after Django CMSDjango CMS 后无法访问管理页面
【发布时间】:2014-01-28 19:12:45
【问题描述】:

版本: CentOS 6.4、Apache 2.2.15、Django 1.6、mod_wsgi 3.2

我正在建立一个网站,并在 /srv 目录中拥有 Django 项目文件。我也启用了 SELinux。

我已经为网站实现了基本的 HTML 和 CSS,并且正在尝试使用 Django CMS 开始构建网站的核心。我按照他们的在线文档,设法让 Django CMS 欢迎屏幕出现了那个小白马。

但是,当我访问:<myIP>/admin 时,我收到 404 Page Not Found 错误。我相信我的文件中有必要的管理代码,因此我正在寻求一些帮助。

urls.py

from django.conf.urls import patterns, include, url

# Used for CMS
from django.conf.urls.defaults import *
from django.conf import settings

# The next two lines enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^',               include('cms.urls')),
    url(r'^$',             'mysite.views.home'),
    url(r'^admin/',         include(admin.site.urls)),
    url(r'^support/$',      'mysite.views.support'),
)

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

settings.py 的摘录

import os
gettext = lambda s: s
PROJECT_PATH = os.path.split(os.path.abspath(os.path.dirname(__file__)))[0]

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', 
        'NAME': '/srv/mysite/database.sqlite',  
    } 
 }

 CMS_TEMPLATES = (
    ('template1.html', 'Template 1'),
    ('template2.html', 'Template 2'),
 )

 INSTALLED_APPS = (
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.sites',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'django.contrib.admin',

     # These apps are for Django-CMS
    'cms',
    'mptt',
    'menus',
    'south',
    'sekizai',
    'cms.plugins.file',
    'cms.plugins.link',
    'cms.plugins.text',
    'cms.plugins.picture',
)

任何帮助将不胜感激!如果有帮助,我还可以提供任何其他 sn-ps。

【问题讨论】:

    标签: django content-management-system django-admin django-cms


    【解决方案1】:

    您可能需要将url(r'^', include('cms.urls')), 作为您的url 配置的最后一个条目,因为cms.urls 包含:

    url(r'^(?P<slug>[0-9A-Za-z-_.//]+)$', details, name='pages-details-by-slug')
    

    也应该匹配/admin/。所以你的/admin/ 请求最终会出现在没有页面的 cms 和 404s 中。

    【讨论】:

      最近更新 更多