Не так просто, но возможно полезно, если у вас есть множество различных шаблонов, соответствующих одному и тому же виду:
base_dict={
...
#defaults go here
}
def make_dict(template_name,template_object_name):
base_dict.update({
'template_name':template_name,
'template_object_name':template_object_name,
})
return base_dict
urlpatterns += patterns('django.views.generic.date_based',
(r'^gindex/$', 'archive_index', make_dict('index1.html','latest_poll_list')),
(r'^hindex/$', 'archive_index', make_dict('index2.html','oldest_poll_list')),
)
Для многих похожих общих представлений это приведет к сжатию ваших кодовых вызовов за счет небольшой прозрачности. Если у вас много строк, настраивающих одни и те же параметры, это может быть проще всего прочитать.
Наконец, если все или большинство ваших представлений требуют некоторой, но не всей, одной и той же информации, никогда не забывайте, насколько полезен контекстный процессор . Для настройки требуется чуть больше работы, чем для вышеуказанных решений, но он расширяется гораздо лучше, поскольку он гарантирует, что (если вы не используете ярлык render_to_response без ключевого слова RequestContext) значения по умолчанию всегда будут доступны для вашего шаблона, независимо от того, ваш взгляд или изменение URL-адреса.