Django Webapp Framework Comparison

WebappFrameworkComparison / Scratchbook / Django

Back to Snip <-- Previous Change | Next Change -->

Diff Summary
Title
Date 2008-02-10 19:53:03 2008-02-10 20:19:24
Editor Herbert Poul Herbert Poul
Tags

2008-02-10 19:53:03 by Herbert Poul
2008-02-10 20:19:24 by Herbert Poul
7272
73this could also be used for editing urls & co .. a73this could also be used for editing urls & co .. a
>nd .. you could use named URLs to link to URLs not>nd .. you could use named URLs to link to URLs not
> associated with models.. > associated with models.. 
7474
75# Various Comments75# Various Comments
7676
nn77One of the more annoying things when getting start
 >ed with django is it's template engine (you can of
 > course use another template engine with django..)
 >. The reason for this is django's extreme position
 > on forcing the developer / designer to move all a
 >nd any logic out of templates - This is not necess
 >ary good .. or bad .. but requires at least some a
 >djustments if you come from more "powerful" templa
 >te engines (django template engine is still very p
 >owerful - for example the inheritance schema is ve
 >ry useful and allows to create great extend able a
 >nd customizable applications.).
78
79There is quite some opposition against putting all
 > logic out of the templates (and hence making more
 > developer work necessary, as i understand it) - f
 >or example <http://www.cmlenz.net/archives/2007/06
 >/logic-in-templates>
80
81(I personally have not much problems with this app
 >roach.. especially after seeing quite some busines
 >s logic implemented in velocity & co ;) )
82
77# Code Examples83# Code Examples
7884
nn85Well .. there is not all that much code
86
87- [All views](http://yourhell.com/svn/sphene/frame
 >workcomparison/django/barsite/barcrud/views.py)
88- [All models](http://yourhell.com/svn/sphene/fram
 >eworkcomparison/django/barsite/barcrud/models.py)
89- [and of course a handful of templates](http://yo
 >urhell.com/svn/sphene/frameworkcomparison/django/b
 >arsite/barcrud/templates/barcrud/)
90
91
92## Forms
93
94One especially noteworthy feature of django is it'
 >s 'forms' classes ('newforms' actually) which allo
 >ws an object oriented approach to create forms..
95
96It also allows you to automatically generate forms
 > out of existing models..
97
98For example take a look at the form to create/edit
 > bars (for simplicity i've done it in 'models.py' 
 >usually you probably want to put it all in it's ow
 >n python module):
99
100    class BarForm(forms.ModelForm):
101        beers = forms.MultipleChoiceField( choices
 > = BeerChoices(),
102                                           require
 >d = False, )
103
104        class Meta:
105            model = Bar
106            exclude = ('creationdate', 'editdate',
 > 'lasteditor')
107
108the template would then simply output the form lik
 >e: {{ form }}
109
110
111as you can see - because of the object oriented ap
 >proach you could add custom behavior - like error 
 >checking, additional fields/widgets, etc. it is ve
 >ry handy and makes form based applications as easy
 > as it gets.
112
79# Conclusion113# Conclusion
tt114

Personal website and blog of Herbert Poul. Also check out my Photo Gallery.




Herby's Photo Gallery

Subscriptions

User

You are not logged in.
Login
Register