В взглядах класса на основе, вы должны вызвать as_view()
функции так, чтобы вернуть вызываемого вид, который принимает request
и возвращает response.
Его основная точка входа в цикле запрос-ответ в случае общих взглядов ,
as_view
функция (метод класса), который соединит мой MyView
класс с его URL.
От django docs:
classmethod as_view (** initkwargs)
Возвращает вызываемый вид, который принимает запрос и возвращает ответ:
Вы просто не можете использовать class- как вы могли бы в обычных функциональных представлениях.
Приведенный выше код недействителен, если вы хотите, чтобы CBVs функционировали должным образом. Для этого вам необходимо предоставить представление, которое можно вызывать, а затем передать ему запрос. Например:
response = MyView.as_view()(request) # valid way
вызывая функцию as_view()
на мой взгляд, класс MyView
даст мне представление, которое я буду называть с request
параметром, чтобы инициировать цикл запроса-ответа.
В вашем случае:
my_callable_view = BlogIndex.as_view() # returns a callable view
<function blog.views.BlogIndex>
Теперь, вызовите эту функцию и передать request
.
response = my_callable_view(request) # generate proper response
Ваш вопрос не ясен. 'as_view()' - это то, что вы должны вызвать, чтобы связать представление на основе класса в своем URL-адресе. О чем вы спрашиваете? –
@ DanielRoseman Я думаю, вы просто ответили на мой вопрос. Благодарю. –