Django CMS之后无法访问管理页面

时间:2014-01-09 23:57:53

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

版本: 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',
)

任何帮助将不胜感激!如果有帮助,我还可以提供任何其他代码段。

1 个答案:

答案 0 :(得分:3)

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

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

也应匹配/admin/。因此,您的/admin/请求最终会出现在没有网页的cms和404s。