| In [WebappFrameworkComparison/Planning] i prepared | | In [WebappFrameworkComparison/Planning] i prepared |
| a few questions, so i now try to answer them ... | | a few questions, so i now try to answer them ... |
| | | |
| | | |
| ** How easy was the framework to learn ? ** | | ** How easy was the framework to learn ? ** |
| | | |
n | | n | N/A - I already knew the framework
|
| | | |
| ** How easy was the setup ? ** | | ** How easy was the setup ? ** |
n | | n |
|
| | | IMHO .. _very_ easy .. but.. i already knew it .. |
| | | so no surprises (but.. it's really just svn checko |
| | | ut - and creating a symlink to python site-package |
| | | s)
|
| | | |
| | | |
| ** How easy is the deployment of new versions ? ** | | ** How easy is the deployment of new versions ? ** |
| | | |
| | | |
n | | n | easy.. update the files.. and reload apache
|
| | | |
| ** How extend able is the result ? (e.g. Imagine i | | ** How extend able is the result ? (e.g. Imagine i |
| would like to add a workflow where changes get on | | would like to add a workflow where changes get on |
| line once an administrator approves them) ** | | line once an administrator approves them) ** |
| | | |
n | | n | as easy as it gets ... and most of the times exten |
| | | sions could be done without littering existing cod |
| | | e (e.g. through signals like pre/post model save)
|
| | | |
| ** How much duplication was necessary ? (e.g. need | | ** How much duplication was necessary ? (e.g. need |
| to describe the models in the database as well as | | to describe the models in the database as well as |
| in code or xml ? / need to describe attributes of | | in code or xml ? / need to describe attributes of |
| models in models and views ?, etc.) ** | | models in models and views ?, etc.) ** |
| | | |
n | | n | well .. i did some duplication because for example |
| | | the 'details' view is really simplistic .. so i " |
| | | defined" there again which fields the model has .. |
| | | but this could be done more generic.. or .. in mo |
| | | st cases.. simply "design" this view template ..
|
| | | |
| ** How much useless code (code which is the same f | | ** How much useless code (code which is the same f |
| or every application, view, model, ...) was requir | | or every application, view, model, ...) was requir |
| ed ** | | ed ** |
| | | |
n | | n | well.. i don't know of any .. i probably could hav |
| | | e saved me two lines and used the generic list and |
| | | details views, instead of writing my own ..
|
| | | |
| ** URLs: ** | | ** URLs: ** |
| | | |
| ** How does the mapping of URLs work ? ** | | ** How does the mapping of URLs work ? ** |
| | | |
n | | n | through regular expressions which map against view |
| | | functions
|
| | |
|
| | | this were my url definitions:
|
| | |
|
| | | [code]
|
| | | urlpatterns = patterns('barcrud.views',
|
| | | (r'^$', 'list'),
|
| | | (r'^create.*$', 'edit'),
|
| | | (r'^edit/(?P<bar_id>\d+)/$' |
| | | , 'edit'),
|
| | | (r'^details/(?P<bar_id>\d+) |
| | | /$', 'details'),
|
| | | (r'^postcomment/(?P<bar_id> |
| | | \d+)/$', 'postcomment'),
|
| | | )
|
| | | [/code]
|
| | | |
| ** How can you link within templates to other acti | | ** How can you link within templates to other acti |
| ons/views/... ? ** | | ons/views/... ? ** |
| | | |
n | | n | unfortunately .. i was too lazy to implement it ev |
| | | erywhere the "clean" way .. in a real application |
| | | it should definitifely be used:
|
| | | |
t | | t | it is possible to make reverse lookups which tries |
| | | to apply a given set of parameters to the URL pat |
| | | terns .. a typical get_absolute_url method in the |
| | | _model_ looks like this:
|
| | |
|
| | | [code]
|
| | | @permalink
|
| | | def get_absolute_url(self):
|
| | | return ('barcrud.views.details', (), { 'ba |
| | | r_id': self.id })
|
| | | [/code]
|
| | |
|
| | | this could also be used for editing urls & co .. a |
| | | nd .. you could use named URLs to link to URLs not |
| | | associated with models..
|
| | | |
| # Various Comments | | # Various Comments |
| | | |
| # Code Examples | | # Code Examples |
| | | |