Моя цель: чтобы c вызывали только один раз, когда запускается приложение (не весь проект django, а конкретное c приложение).
нижеследующее взято из документации * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * (100) * Конструктор.
1009 * *. Вызывается в URLconf; может содержать полезные дополнительные аргументы ключевых слов и другие вещи.
Если мои два экспериментальных представления - это подклассы View и некоторые другие классы, не являющиеся представлениями, и код выглядит примерно так, как показано ниже. Примечание: функция fun c () имеет некоторые важные побочные эффекты, и мне интересно, КОГДА и КАК ЧАСТО они называются. Я только знаю, что в случае MyView, забавный c будет вызываться каждый раз, когда класс Parent IS DEFINED, в случае MyView2, каждый раз, когда вызывается Parent2 или MyView2. Но я не могу сказать asp, когда это происходит (соответственно) - например, при каждом импорте, только один раз, при запуске приложения, каждый раз, когда достигается конечная точка. Может ли кто-нибудь немного объяснить мне эти два случая? :) this:
Поскольку распознаватель URL Django ожидает отправки запроса и связанных аргументов в вызываемую функцию, а не в класс, представления на основе классов имеют метод класса as_view (), который возвращает функцию, которая Может вызываться, когда приходит запрос на URL, соответствующий ассоциированному шаблону. Функция создает экземпляр класса, вызывает setup () для инициализации его атрибутов, а затем вызывает его метод dispatch ().
предполагает, что в случае MyView2 будет вызван fun c каждый раз, когда соответствующая конечная точка поражена. Это так? И как насчет MyView? В этом случае fun c вызывается всякий раз, когда определен родительский класс. Родительский класс не является представлением (хотя он определен в views.py), к нему не подключена конечная точка. Таким образом, он выполняется, вероятно, при импорте файла views.py. Я должен думать, что он будет вызван только один раз, когда приложение запущено - но вместо этого я получаю два забавных c звонка ...
class Parent:
var = func()
class MyView(View, Parent):
#... some usual stuff here
class Parent2:
def __init__(self):
self.var = func()
class MyView2(View, Parent2):
#... some usual staff here