【发布时间】:2016-11-22 14:26:09
【问题描述】:
我是 django-cms 的新手,我正在尝试在 cms 之外创建一个占位符。我创建了模型并插入了一些虚拟数据进行测试。然后我创建了一个模板来显示这个模型并检查我是否能够在前端编辑它。这是我遇到错误的 HTML 代码:
{% load i18n staticfiles thumbnail cms_tags %}
<article class="article">
<h2>
{% render_model article "title" %}
</h2>
<p>{{ article.creation_date|date }}</p>
{% if detail_view %}
{% render_placeholder article.content language placeholder_language %}
{% endif %}
</article>
我得到的错误是:
NoReverseMatch at /en/news/
Reverse for 'cms_myapp_news_change' with arguments '(5L,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []
这个错误在render_model 行中出现。 (我已经注释了每一行以检查异常发生的确切位置。)
我已经在我的列表中添加了一个 url,看看是否可行:
url(r'^news/(?P<pk>\d+)/$', login_required(v_index.news), name='news_change')
但仍然是完全相同的错误。
你知道发生了什么吗?
编辑:
这是我的模型:
class News(models.Model):
id = models.AutoField(db_column='ID', primary_key=True)
title = models.TextField(verbose_name=_(u'Title'), db_column='TITLE')
description = models.TextField(verbose_name=_(u'Description'), db_column='DESCRIPTION')
creation_date = models.DateTimeField(db_column='CREATION_DATE', verbose_name=_(u'Creation Date'), auto_now_add=True)
content = PlaceholderField('news_content',
related_name='news_content')
class Meta:
app_label = 'cms_myapp'
ordering = ['-creation_date']
verbose_name = _(u'New')
verbose_name_plural = _(u'News')
更新:
我尝试为这个模型配置管理部分,所以我添加了文件admin.py:(并删除了上面发布的 url)
from cms.admin.placeholderadmin import FrontendEditableAdminMixin
from django.contrib import admin
from cms_myapp import models
class NewsAdmin(FrontendEditableAdminMixin,admin.ModelAdmin):
frontend_editable_fields = ("title", "description")
admin.site.register(models.News, NewsAdmin)
但我仍然得到同样的错误。
【问题讨论】:
-
您是否在模板或视图中的任何位置传递
pk? -
@jape 我正在传递对象。我还需要通过pk吗?能举个例子吗?
-
你有没有
$的管理员包含?url(r'^admin/', include(admin.site.urls)), -
@markwalker_ 是
url(r'^admin/', include(admin.site.urls)), -
@patricia 在添加带有
name='news_change'的 URL 之前,您是否设置了模型管理员?'cms_myapp_news_change'是 Django 管理员的 URL 名称,您可以在其中change对象来自news应用程序的news模型。因此,您可能会通过包含您的 URL 来混淆问题。尝试删除它。
标签: django django-models django-templates django-views django-cms