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

strange 404 error in djangocms when using details view

我遇到 djangocms 的 404 错误,引发者:cms.views.details。

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

djangocms 版本 3.2 姜戈 1.9 python3.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'

这里是我的 url.py 来自我的 cms

# -*- 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

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