Я пытаюсь просмотреть 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.