Я пробую представления Django на основе классов (CBV ).
class BlahView(TemplateView):
template_name = 'blah/blah.html'
def get_context_data(self, **kwargs):
#code...
def get(self, request, **kwargs):
#more code...
Теперь я знаю, что могу получить параметры запроса из self.request. Теперь скажем, я хочу проанализировать эти параметры запроса и сохранить их в классе. Могу ли я сохранить их в self.xxx
? Теперь, очевидно, исходя из того, как работают классы, это кажется простым.
Но я не могу разобрать поток управления, глядя на определениеView
(суперклассTemplateView
). Источник упоминает as_view()
как «точку входа -»
. Я думал установить свои переменные экземпляра в начале get_context_data()
, но мне кажется неправильным делать там инициализацию.
Могу ли я определить __init__()
для своего CBV? Если да, будут ли проблемы с потоками или что-то, где доступ к нескольким страницам -может работать с глобальным экземпляром моих проанализированных данных?
Я знаю, это звучит немного запутанно, но я просто немного запутался с потоком кода в CBV.