Как проверить, работает ли Django Signal?

Да, первый - это static method, также называемый class method, а второй - instance method.

Рассмотрим следующие примеры, чтобы понять это более подробно.

В ES5

function Person(firstName, lastName) {
   this.firstName = firstName;
   this.lastName = lastName;
}

Person.isPerson = function(obj) {
   return obj.constructor === Person;
}

Person.prototype.sayHi = function() {
   return "Hi " + this.firstName;
}

В приведенном выше коде isPerson является статическим методом, а sayHi является методом экземпляра Person.

Ниже описано, как создать объект из конструктора Person.

var aminu = new Person("Aminu", "Abubakar");

Использование статического метода isPerson.

Person.isPerson(aminu); // will return true

Использование метода экземпляра sayHi.

aminu.sayHi(); // will return "Hi Aminu"

В ES6

class Person {
   constructor(firstName, lastName) {
      this.firstName = firstName;
      this.lastName = lastName;
   }

   static isPerson(obj) {
      return obj.constructor === Person;
   }

   sayHi() {
      return `Hi ${this.firstName}`;
   }
}

Посмотрите, как было использовано ключевое слово static для объявления статического метода isPerson.

Чтобы создать объект класса Person.

const aminu = new Person("Aminu", "Abubakar");

Использование статического метода isPerson.

Person.isPerson(aminu); // will return true

Использование метода экземпляра sayHi.

aminu.sayHi(); // will return "Hi Aminu"

ПРИМЕЧАНИЕ. Оба примера по существу одинаковы, JavaScript остается бесклассовым. class, введенный в ES6 , является прежде всего синтаксическим сахаром над существующей моделью наследования на основе прототипа.

0
задан Desiigner 27 February 2019 в 18:43
поделиться

2 ответа

Django-debug-toolbar помогает получать больше информации о ваших сигналах. Просто объявите их в своих настройках.

0
ответ дан Zulu 27 February 2019 в 18:43
поделиться

Нам нужно зарегистрировать наш сигнал из функции AppConfig.ready(). ссылка и здесь нам нужно подключить наш сигнал. Надеюсь, что это решит вашу проблему. Еще одна дополнительная вещь, если ваше приложение не является частью INSTALLED_APPS, не забудьте добавить init .py

Я хотел бы добавить дополнительную ссылку [ 114], пожалуйста, пройдите раздел Where Should the Code Live?, чтобы устранить ваши сомнения.

0
ответ дан Shakil 27 February 2019 в 18:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: