Hi.
For the second part, it looks like you could use your own
template_context_preprocessor. With it you can do stuff like
creating variables for your template. Maybe this would be able to
solve your problem having to send the same template vars over and
over again. If you dont need view specific variables, this should do
it.

You can take a look at the docs about them and how to write them:
http://docs.djangoproject.com/en/dev/ref/templates/api/#writing-your-own-context-processors

~Jakob


On 1 Apr., 09:42, Ståle Undheim <[email protected]> wrote:
> I come from a Java background, and I really like Apache Wicket as a
> way for constructing web frameworks. In it you use classes, extension
> and compositions to build your pages. This allows for great reuse off
> components in different pages.
>
> Django however works via functions instead, which can't be extended.
> And since each function will represent a full page, they seem harder
> to combine together. Maybe the way I am thinking about how to solve
> stuff in Django is too much affected by my Java background, and I am
> not doing things in a Pythonic way.
>
> So I have 2 cases, I will explain the problem, how I would solve it in
> Wicket, how I have solved it in Python and the issues I have with the
> solutions. Maybe someone can give me some good pointers and advice
> regarding this.
>
> The first thing I have is a file list. I use this in 2 different
> places. The list has some filter checkboxes on top, and a table off
> files, each with a link next to them. In 1 view the link says "view"
> and takes you to viewing the file, in another view it adds the file to
> a selection off files. In Wicket I would make a file list component,
> this had 2 properties you needed to set, link text and onclick
> action.
>
> For Django I instead ended up just copying the template and fitting it
> for each case. Each view has a different base template they extend
> which is the context for the application. I also needed to make sure
> the context was correct in each view function. I used some javascript,
> and was able to copy that directly. I really don't like that I have to
> copy the template code around, and match up the view context to this
> template in each case. Is it possible to turn my file list into a
> component with just 1 template and some config, without it being
> excessively verbose?
>
> The other thing I have is multiple views in one app that use the same
> base design template. The base design template provides menus related
> to the app, while each view provides the content in the design. Since
> there is common context variables that are needed for the design
> template for each view, each view must include these variables in it's
> context for things to work. Which I again feel like is duplication off
> code. I would instead prefered a base class for the app, that all the
> views in it extended, and thus didn't need to worry about setting up
> the root context correctly.
>
> I hope someone can enlighten me about me either being all wrong in how
> I think about app construction, or that there are good elegant
> solutions for these things already available.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to