Описание тега django-views
Представления Django - это представления MVC; они контролируют рендеринг (обычно через шаблоны) и отображаемые данные.
В случае Django можно создавать общие представления, которые специализируются на различных параметрах (часто классах моделей), которые просто соединяются с соответствующим шаблоном для создания полной страницы.
Отделение от системы шаблонов также позволяет очень легко создавать выходные данные в разных форматах или использовать одно представление для нескольких, совершенно разных по виду страниц (обычно с похожими данными).
В Django есть два типа представлений.
Представления на основе классов (сокращенно CBV) и представления на основе функций (FBV). Сценарии использования различаются для каждого из них, и хотя в более поздних версиях Django рекомендуется использовать представления на основе классов, представления на основе функций не полностью устарели.
CBV обеспечивает лучшее повторное использование кода, наследование и миксины. Дополнительную информацию можно найти здесь
Пример представления на основе класса:
from django.views.generic.edit import UpdateView
from myapp.models import Author
class AuthorUpdate(UpdateView):
model = Author
fields = ['name']
template_name_suffix = '_update_form'
Пример представления на основе функций:
def update_account_view(request, account_id):
# do some account stuff
context = {'account': some_object, 'another_key': 'value'}
return render_to_response('templates/account_update.html',
context,
context_instance=RequestContext(request))