Ä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.
