Pages Menu
Rss
Categories Menu

Gepostet by on Mrz 9, 2009 in Python | Keine Kommentare

Ärger mit Generic Views von Django

Django ist ja eines der besten Frameworks für Python um schnell Webanwendungen zu realisieren. Allerdings ist es leider noch nicht so ausgereift wie z.B. Ruby on Rails. Die Generic Views von Django sind zwar sehr hilfreich, allerdings nicht ganz konsequent umgesetzt.


So gibt es bei den Views create\_object, update\_object und delete\_object die Möglichkeit login\_required zu übergeben, aber bei anderen Views wie z.B. direct\_to\_template nicht. Das ist ziemlich ärgerlich, da es hier genauso Sinn machen würde.

Allerdings gibt es einen kleinen Workaround…

from django.contrib.auth.decorators import login_required 
from django.views.generic.simple import direct_to_template
 
urlpatterns = patterns('',
	(r'^meineurl/$',login_required(direct_to_template),
		{'template':'welcome.html'}),
...

Dadurch erhält man das gleiche Ergebnis, wie wenn man login\_required als Argument dem View übergibt.

Kommentar absenden

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>