【问题标题】:strange 404 error in djangocms when using details viewdjangocms 使用详细信息视图时出现奇怪的 404 错误
【发布时间】:2016-05-14 10:55:46
【问题描述】:

我的 djangocms 出现 404 错误,由:cms.views.details 引发。

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

djangocms 3.2 版 django 1.9 蟒蛇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

【问题讨论】:

    标签: python django django-cms


    【解决方案1】:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-24
    • 2011-06-16
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 2022-01-15
    • 2015-12-14
    • 1970-01-01
    相关资源
    最近更新 更多