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
答案 0 :(得分:1)
'cms.urls'
include必须是你的urlpatter中的最后一个。它会捕获所有请求,因此请将您的'inventaire/'
包含在上面。