LINUX.ORG.RU

Django TemplateView

 , , ,


0

3

Кто нибудь может объяснить в чём профит использования TemplateView вместо *View? Можно где-то почитать подробнее, просто в документации написанно как-то расплывчато :(

Перемещено true_admin из development

★★★

Ответ на: комментарий от x3al

И?

class View

View is the base class for all views. It takes care of two things that you should know about:

--->The .as_view() method you call on the view in your urls.py.

--->It calls .get() for a GET request, .post() for a POST request and so on.

И где профит? Можешь пример сделать с разяснением?

AUX ★★★
() автор топика
Ответ на: комментарий от AUX
View

class View

Attributes (with optional accessor):

    http_method_names

Methods

    as_view()
    dispatch()
    head()
    http_method_not_allowed()

TemplateView

class TemplateView

Attributes (with optional accessor):

    content_type
    http_method_names
    response_class [render_to_response()]
    template_name [get_template_names()]

Methods

    as_view()
    dispatch()
    get()
    get_context_data()
    head()
    http_method_not_allowed()
    render_to_response()

В двух словах: TemplateView == View + TemplateMixin, из которого и наследуются остальные методы.

TemplateView часто используют не ванильным. Пример — переопределить get_context_data() и использовать его в template. В View его переопределить нельзя потому, что его нет.

x3al ★★★★★
()
Ответ на: комментарий от x3al

Просто меня интересует вопрос, что использовать предподчительней? Как будет правильно со стороны дизайна приложения? И как рекомендуют разработчики?

AUX ★★★
() автор топика
Ответ на: комментарий от AUX

Что именно тебе нужно, то и используешь. Когда дедлайн скоро — что работает, то и предпочтительнее, это всего лишь джанга.

В TemplateView можно тремя строками добавить передачу, например, списка файлов в шаблон. В View чуть дольше.

x3al ★★★★★
()

Какой-то странный народ пошёл нынче. Написано же по-человечески, вью для шаблонов. Нужно рендерить html - используй и будет проще. Не нужно рендерить или не html - не используй.

Кстати, есть ли смысл выбирать между этими двумя, когда есть более генерализованные, типа DetailView/ListView для чтения и CreateView/FormView для записи.

anonymous
()
Ответ на: комментарий от anonymous

Шаблоны далеко не для одного html. Нет, конечно, json делать через них — изврат, пусть и возможный, но xml/csv — вполне.

x3al ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.