Ich versuche, die change_form.html Vorlage eines meiner Modelle zu erweitern, um einige Informationen auf der Seite aufzunehmen. Ich habe die django Dokumentation in https://docs.djangoproject.com/en/1.6/ref/contrib/admin/#overriding-vs-replacing-an-admin-templateProbleme erweitern change_form.html in django admin
gelesen Das Problem ist, dass auftritt:
NoReverseMatch bei/contas_pagar/pagamento/2/ umge für 'app_list' mit Argumenten '()' und Stichwort Argumente '{u'app_label': ''} 'nicht gefunden. 1 Muster (n) versucht: [ '(? P \ w +)/$']
Ich verwende Django 1.6.5 mit Django-Anzug 0.2.12
Das Fehlerbild: https://dl.dropboxusercontent.com/u/80415688/error_app_django.PNG
in my_project/my_app/templates/admin/my_app/my_model/change_form.html
{% extends "admin/change_form.html" %}
in my_project/urls.py
urlpatterns = patterns('',
url(r'^contas_pagar/pagamento/(?P<id_parcela>\d+)/$',
'contas_pagar.views.retorna_pagamentos_parcela'),
# django urls
url(r'^doc/', include('django.contrib.admindocs.urls')),
url(r'', include(admin.site.urls)),)
in my_project/views.py
def return_id(request, id):
data = { 'test': 'test', }
return render_to_response('admin/my_app/my_model/change_form.html', data,
context_instance=RequestContext(request))
Hat jemand eine Ahnung, wie zu lösen?
UPDATE:
Ich habe einige Änderungen an dem Code.
Die Ansicht ist in meiner Klasse ModelAdmin.
in my_project/my_app/templates/admin/my_app/my_model/change_form.html:
{% extends "admin/change_form.html" %}
{% block after_field_sets %}{{ block.super }}
<h2>{{ test }}</h2>
{% endblock %}
in my_project/my_app/admin.py:
class PagamentoAdmin(admin.ModelAdmin):
form = PagamentoForm
model = Pagamento
list_display = ('id', 'parcelas_contas_pagar', 'data', 'valor')
def get_urls(self):
urls = super(PagamentoAdmin, self).get_urls()
my_urls = patterns('',
(r'(?P<id_parcela>\d+)/$', self.admin_site.admin_view(self.retorna_pagamentos_parcela)),
)
return my_urls + urls
def retorna_pagamentos_parcela(self, request, id_parcela):
data = {
'test': test,
'opts': self.model._meta,
'app_label': self.model._meta.app_label,
'change': True,
'add': False,
'is_popup': False,
'save_as': False,
'has_delete_permission': False,
'has_add_permission': False,
'has_change_permission': True
}
return render_to_response('admin/contas_pagar/pagamento/change_form.html', data, context_instance=RequestContext(request))
Nicht mehr Fehler auftreten. Nur die Felder meiner Klasse Admin werden nicht angezeigt.
Hallo Freund, danke für deine Antwort. Ich habe die Änderung in meinem view.py vorgenommen. Er ESSO Fehler ausgegeben ... Aber dann ein weiterer Fehler war ... [link] (siehe https://dl.dropboxusercontent.com/u/80415688/error_change_django.PNG) konnte ich nichts finden darüber. Irgendeine Idee von diesem Fehler? –
Amazing @catavaran, Das war das Problem, es war notwendig, einige Variablen gibt es mehr in den Kontext ist :) Aber wenn Sie mir mit einer letzten Frage helfen können ... Ich habe versucht, nach Ihrer Antwort und ich zu tun war nicht erfolgreich ... Die Felder meines Formulars wurden nicht zusammen mit meiner Anpassung wiedergegeben. Sie erscheinen einfach nicht. Ich muss etwas mehr Variable im Kontext zur Verfügung stellen? Erweitern Sie eine Methode von ModelAdmin? –
Zeigen Sie Ihre Ansicht und Vorlage. – catavaran