Аргументы представления, принимаемые по умолчанию Django

Опубликовал: Sunday, January 29, 2024 в категории Django | Пока нет комментариев

Еще один удобный прием - определение значений по умолчанию для аргументов представления. Тем самым мы сообщаем представлению, какое значение параметра следует использовать, если оно явно не задано при вызове функции. Например:

# urls.ру

from django.conf.urls.defaults import * from mysite import views

urlpatterns = patternsC

(г’"blog/$’, views.page), (r’~blog/page(?P<num>\d+)/$’, views.page),

)

# views.py

def page(request, num=,1′):

tt Выводит страницу записей в блоге с номером num.

и …

Здесь оба образца URL указывают на одно и то же представление - views. page, - но в первом никакие части URL не сохраняются. Если будет обнаружено совпадение с первым образцом, то при вызове функции для аргумента num будет использовано значение по умолчанию - ‘ 1’. Если же со вторым, то функции будет передано сохраненное значение num.

Примечание —————————————————————————-

Мы специально определили в качестве значения аргумента по умолчанию строку "Г, а не целое число 1, потому что сохраняемое значение всегда представлено строкой.

Как отмечалось выше, такой прием часто применяется в сочетании с конфигурационными параметрами. В следующем примере мы немного улучшим код примера из раздела «Конфигурационные параметры представления», определив значение по умолчанию для аргумента

template_name:

def my_view(request, template_name=’mysite/my_view.html’): var = do_something()

return render_to_response(template_name, {‘var’: var})

Источник: Головатый А., Каплан-Мосс Дж. Django. Подробное руководство, 2-е издание. - Пер. с англ. - СПб.: Символ- Плюс, 2010. - 560 е., ил.

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *