Ich bin ein Neuling in Django-cms und ich versuche, einen Platzhalter außerhalb der cms zu erstellen. Ich habe das Modell erstellt und einige Dummy-Daten zum Testen eingefügt. Dann habe ich eine Vorlage erstellt, um dieses Modell anzuzeigen und überprüft, ob ich es im Frontend bearbeiten konnte. Hier ist mein HTML-Code, wo ich erhalte eine Fehlermeldung:Fehler: NoReverseMatch bei der Verwendung von render_model
{% 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>
Der Fehler Ich erhalte, ist dies:
NoReverseMatch at /en/news/
Reverse for 'cms_myapp_news_change' with arguments '(5L,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []
Und dieser Fehler hapening in der render_model
Linie. (Ich habe jede Zeile kommentiert zu prüfen, wo genau die Ausnahme auftritt.)
Ich habe eine URL zu meiner Liste hinzugefügt, um zu sehen, ob funktionieren würde:
url(r'^news/(?P<pk>\d+)/$', login_required(v_index.news), name='news_change')
Aber immer noch mit den exakt gleichen Fehlern.
Wissen Sie, was los ist?
EDIT:
Hier ist mein Modell:
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')
UPDATE:
Ich habe versucht, den Admin-Teil für dieses Modell so zu konfigurieren, habe ich die Datei admin.py
: (und entfernt die URL geschrieben oben)
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)
Aber immer noch bekomme ich den gleichen Fehler.
Übergeben Sie den 'pk' irgendwo in Ihrer Vorlage oder Ansicht? – jape
@jape Ich passiere das Objekt. Muss ich das PK auch übergeben? Kannst du ein Beispiel geben? – patricia
Hast du das Admin-Include ohne das '$'? 'url (r '^ admin /', include (admin.site.urls)),' –