What is annoying is I have to repeat this incantation in every view function
ever, yes?. If its got a form, I have to do this every time.
I thought the idea was to write less code? Not the same code over and over
again in every view.
Or am I missing something. Seems like I am getting very much NON-DRY here.
On Nov 24, 2009, at 3:28 PM, Tim Valenta wrote:
> Sorry it's not working out for you, but I'd disagree about the
> comparison to X-Windows :) I'd be defending Django, and not X-
> windows, when I say that.
>
> I'm serious. Just add them together. I'm not sure you're
> appreciating the slick objects that have been crafted for this very
> purpose.
>
> Your view:
> cumulative_media = form.media for form in forms
> return render_to_response('mytemplate.html', {'media':
> cumulative_media})
>
> Your template:
> {% block my_media_block %}
> {{ block.super }}
> {{ media }}
> {% endblock %}
>
> I fail to see what is so hard about this.
>
> Tim
>
> On Nov 24, 4:13 pm, Todd Blanchard <[email protected]> wrote:
>> You know what, this is absolutely too much BS. Why would one bother to use
>> the media declaration stuff at all if there is no mechanism to properly
>> consume it (a built in template tag for instance).
>>
>> I think I will just hardcode them in the head in the base template. They
>> seldom change and browser caching being what it is having them never change
>> is just fine.
>>
>> After three weeks of seriously trying to get traction with django, my
>> conclusion is it has all of the elegance of X-windows. It can do anything
>> but out of the box it does nothing except present a zillion confusing parts
>> to the programmer and it has too many mechanisms but no policies.
>>
>> I'm beginning to very much pine for rails. At least it does something out
>> of the box.
>>
>> Very frustrated today - still haven't got a single record/entry form
>> working. Too many little files and indirection to keep it all straight in
>> my head.
>>
>> -Todd Blanchard
>>
>> On Nov 24, 2009, at 2:05 PM, Tim Valenta wrote:
>>
>>
>>
>>> The idea is along the lines of what you initially guessed.
>>
>>> The admin accomplishes the non-duplicate effect in django/django/
>>> contrib/admin/options.py, starting at line 770. It loops over the
>>> forms and combines the existing media with the media on each form
>>> object. It ends up using a series of objects to do it, including a
>>> Media class, but it's not doing anything too special. When an item
>>> gets added, it checks to make sure that the path doesn't already exist
>>> in the list.
>>
>>> So, short story: loop over your forms and add the media attributes
>>> together. The underlying Media class ought to be dropping duplicates.
>>
>>> Then just save a context variable with the result, and do the
>>> following in your template:
>>
>>> {% block extrahead %} {# or whatever you call your header block #}
>>> {{ block.super }}
>>> {{ cumulative_media }}
>>> {% endblock %}
>>
>>> Tim
>>
>>> On Nov 24, 12:30 pm, Todd Blanchard <[email protected]> wrote:
>>>> What about de-duping?
>>>> If two forms want the same js file, will it get included twice?
>>>> It seems like this is the kind of thing that the framework should handle
>>>> and the current "solution" is kind of half baked.
>>
>>>> -Todd
>>
>>>> On Nov 23, 2009, at 2:40 PM, Mark (Nosrednakram) wrote:
>>
>>>>> Hello,
>>
>>>>> I have something like the following in my generic genericform.html. I
>>>>> think this is what you're looking for if not hope you find a better
>>>>> answer. The extramedia block is back in my base.html template and my
>>>>> form template extends it. I'm not sure if it's in the admin base.html
>>>>> but you can take a look at if for there media blocks I believe are
>>>>> something like extrastyle etc...
>>
>>>>> {% block extramedia %}
>>>>> {% if forms %}
>>>>> {% for form in forms %}
>>>>> {{ form.media }}
>>>>> {% endfor %}
>>>>> {% else %}
>>>>> {{ form.media }}
>>>>> {% endif %}
>>
>>>>> Mark
>>
>>>>> On Nov 23, 1:31 pm, Todd Blanchard <[email protected]> wrote:
>>>>>> I've read this:
>>
>>>>>> http://docs.djangoproject.com/en/dev/topics/forms/media/
>>
>>>>>> Nifty.
>>
>>>>>> Now, how exactly do I make sure that the media urls get spewed properly
>>>>>> into the head section of the page? This is apparently omitted
>>>>>> everywhere I've looked. The admin template seems to pull it off
>>>>>> properly but I cannot figure out how. Seems like I should be able to do
>>>>>> something like
>>
>>>>>> <html>
>>>>>> <head>
>>>>>> {{ media }}
>>>>>> </head>
>>
>>>>>> but I cannot figure out exactly how to properly aggregate all the forms'
>>>>>> media's and get them spewed into the templates properly.
>>
>>>>>> -Todd
>>
>>>>> --
>>
>>>>> 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
>>>>> athttp://groups.google.com/group/django-users?hl=.
>>
>>> --
>>
>>> 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
>>> athttp://groups.google.com/group/django-users?hl=en.
>
> --
>
> 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.
>
>
--
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.