Django

Code

Ticket #1399 (closed: fixed)

Opened 3 years ago

Last modified 3 years ago

[patch] [magic removal branch] Add 'template_model_name' to generic view list_detail.py

Reported by: ChaosKCW Assigned to: jacob
Milestone: Component: Generic views
Version: Keywords:
Cc: Triage Stage: Unreviewed
Has patch: 1 Needs documentation: 0
Needs tests: 0 Patch needs improvement: 0

Description

the generic views currently in the Magic-removal branch reference the the object or objects with the keyword 'object' or 'object_list' represetivly. This makes the templates rendering the page more obscure.

Example:

{% if survey_list %}
   ...
    {% for survey in survey_list %}
       ....
    {% endfor %}
....
{% endif %}

vs

{% if object_list %}
   ...
    {% for survey in object_list %}
       ....
    {% endfor %}
....
{% endif %}

I propose adding a new parameter called 'template_model_name' to the generic view. This will enable templates to be far more elegant and intutive. I also feel this would make generic templates more 'Djangoified' ie I think it fits with Django philsophies on creating a amzingly simple to use and clean web development framework.

An Example of how this can be called in the URLConf is as follows:

!#python
urlpatterns = patterns('',
    (r'^survey/(?P<object_id>\d+)/$', 'django.views.generic.list_detail.object_detail', {'queryset': Survey.objects.all(), 'template_model_name': 'survey'}),
    (r'^list/$', 'django.views.generic.list_detail.object_list', {'queryset': Survey.objects.all(), 'template_model_name': 'survey', 'template_name': 'survey/index'})
)

Please see the attach patch.

Notice that I have included the a default on the argument 'template_model_name' and set it to 'object'. This means this patch can go in and never effect any code which doesnt want to use it. It will only come into effect if you add the extra argument into the URLConf setup, else everything works as before.

Attachments

django_template_model_name.diff (2.1 kB) - added by ChaosKCW on 02/25/06 12:56:46.
A Patch to add 'template_model_name' to generic views

Change History

02/25/06 12:56:46 changed by ChaosKCW

  • attachment django_template_model_name.diff added.

A Patch to add 'template_model_name' to generic views

02/28/06 21:37:59 changed by adrian

  • status changed from new to closed.
  • resolution set to fixed.

(In [2453]) Fixed #1399 -- Added template_object_name hook to generic views. Thanks, ChaosKCW


Add/Change #1399 ([patch] [magic removal branch] Add 'template_model_name' to generic view list_detail.py)




Change Properties
Action