使用详细信息视图时djangocms中出现奇怪的404错误

时间:2016-02-04 17:26:52

标签: python django django-cms

djangocms出现了404错误,引发次数:cms.views.details。

我正在尝试在django CMS中插入外部应用程序。当我单独运行应用程序时,我的详细信息视图中没有404错误,一切正常。但是当我将我的应用程序放在djangocms中时,请注意listview工作正常,详细视图会导致404错误。 我不知道我做错了什么。

djangocms 3.2版 django 1.9 python 3.4

这是我的外部应用程序的url.py

from django.conf.urls import patterns, url
from . import views
from .views import DocListView, DocDetailView

app_name = 'inventaire'
urlpatterns = patterns('',

url(r'^document/(?P<pk>[0-9]+)/$', views.DocDetailView.as_view(), name='detail'),

url(r'^document$', views.DocListView.as_view(), name='index'),
)

这里是观点

from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.views import generic
from .models import Document, Mention

# Create your views here.

class DocListView(generic.ListView):
template_name = 'inventaire/index.html'
context_object_name = 'latest_document_list'

def get_queryset(self):
    """Return the last five published questions."""
    return Document.objects.all


class DocDetailView(generic.DetailView):
model = Document
template_name = 'inventaire/detail.html'

这是我的cms中的url.py

# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals

from cms.sitemaps import CMSSitemap
from django.conf import settings
from django.conf.urls import *  # NOQA
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

admin.autodiscover()

urlpatterns = i18n_patterns('',
url(r'^admin/', include(admin.site.urls)),  # NOQA
url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap',
    {'sitemaps': {'cmspages': CMSSitemap}}),
url(r'^select2/', include('django_select2.urls')),
url(r'^', include('cms.urls')),
url(r'^inventaire/', include('testTemplates.apps.inventaire.urls')),
)

# This is only needed when using runserver.
if settings.DEBUG:
urlpatterns = patterns('',
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve',  # NOQA
        {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
    ) + staticfiles_urlpatterns() + urlpatterns  # NOQA

1 个答案:

答案 0 :(得分:1)

'cms.urls' include必须是你的urlpatter中的最后一个。它会捕获所有请求,因此请将您的'inventaire/'包含在上面。