zusätzliche elemente im frontend für eingelogte admins

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
snoer
User
Beiträge: 29
Registriert: Montag 2. Juni 2008, 18:13

moin
mich interessiert wie ihr folgende situation löst.

es gibt eine sektion "news"
als eingelogter superuser sollen im frontend zusätzliche elemente wie edit buttons usw angezeigt werden. bisher habe ich in meiner views.py eine flag mitgeschickt
z.b.

Code: Alles auswählen

return render_to_response('news_latest.html',{'news_list':News_entry.objects.all(),'user_is_staff':True})
im template kann ich dann die flag abfragen und zusätzlichen inhalt bereitstellen.
ich ahne aber dass es auch besser geht.
wie löst ihr so etwas?
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

du musst irgendwie das User-Objekt dem Template übergeben und dann kannst du direkt im Template ein:

Code: Alles auswählen

{% if user.is_authenticated oder has_perm oder wie auch immer %}
Normalerweise füge ich immer direkt das Request-Objekt mit ein, über das du dann ja auf den User zugreifen kannst.

Code: Alles auswählen

TEMPLATE_CONTEXT_PROCESSORS = ('django.core.context_processors.request', ...)
snoer
User
Beiträge: 29
Registriert: Montag 2. Juni 2008, 18:13

EDIT: :oops:
manchmal sieht man den wald vor lauter bäumen nicht..
Antworten