Можно ли задавать переменные экземпляра в представлении на основе класса Django?

Я пробую представления 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.

27
задан jpic 12 July 2012 в 09:43
поделиться