2016-09-13 3 views
2

Wie füge ich einen zusätzlichen Kontext zu allen Admin-Webseiten hinzu?Jeder Django-Admin-Seite einen Kontext hinzufügen

Ich benutze Standard Django Admin für meine Admin Teil einer Website.

Hier ist ein URL-Eintrag für admin:

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
] 

Und meine Apps registrieren, um ihre Standard-Ansicht Modelle mit:

admin.site.register(Tag, TagAdmin) 

Mein Problem ist, dass ich ein zusätzliches Feld in Admin angezeigt werden soll Vorlage Header-Leiste und ich habe keine Ahnung, wie Sie diesen zusätzlichen Kontext hinzufügen.

Meine erste Wette es in URL-Mustern wurde hinzugefügt, wie unten:

urlpatterns = [ 
    url(r'^admin/', admin.site.urls, {'mycontext': '123'}), 
] 

Aber das gibt einen Fehler:

TypeError at /admin/tickets/event/4/change/ 

change_view() got an unexpected keyword argument 'mycontext' 

Können Sie Vorschläge geben? Ich möchte wirklich nicht jede AdminModel-Klasse ändern, die ich diesen Kontext einfügen muss, da ich es auf jeder Admin-Seite brauche.

Danke.

Antwort

1

die Lösung gefunden, hat url Anmeldung sein: mit 'extra_context' als Schlüssel

urlpatterns = [ 
    url(r'^admin/', admin.site.urls, {'extra_context': {'mycontext': '123'}}), 
] 

Es ist ein Kontext-Wörterbuch innerhalb eines Wörterbuchs.

Verwandte Themen