Django: Что точно действительно ли сигнализирует, хороши для?

Мне нелегко понимать, как сигналы работают в мое приложение (и как они работают период). Это три области, где я предполагаю, что они применялись бы (с моими современными знаниями):

  1. Отправьте XML на удаленный сервер для создания отчетов (после того, как транзакция будет завершенной).
  2. Ре измеряет изображение и загружает миниатюру на S3 после того, как пользователь загрузит его.
  3. Удалите старые изображения из S3 после того, как пользователь удалит объект изображения из своей учетной записи.

Я полностью от основы (я чувствую, что мог бы быть). Я получаю сигналы и много перепутанную поточную обработку? Если так, они сравнивают там приложение? Они только для отделения? Кроме того, каково соглашение с проверкой, что Вы инстанцируете их рано и не используете локальную функцию (потому что они будут собраны "мусор")? Кто-то может уточнить это? Я должен поместить их всех в Промежуточное программное обеспечение запроса так, чтобы я не волновался?

8
задан orokusaki 3 July 2012 в 13:00
поделиться

2 ответа

Вы настроили Trust Store для вашего соединения?

-121--5044751-

в SQL Server (MS, по меньшей мере):

Это всегда будет оценивать значение false:

IF @someint <> NULL

Дано:

DECLARE @int INT

SET @int = 6

IF @int <> NULL
BEGIN
    Print '@int is not null'
END
ELSE
BEGIN
    Print '@int is evaluating to null'
END

Вывод будет:

@int is evaluating to null

Это должно быть написано:

IF @someint IS NOT NULL
BEGIN
END

Кто поставил английские майоры на команду SQL! :)

-121--1760321-

Сигналы Django являются способом выполнения действия A в ответ на событие E .

В нереальном мире вы можете избежать использования сигналов, изменив код, в котором происходит событие E E и добавление кода для выполнения действия A .

Проблема в том, что вы выполняете удобство использования, читаемость и множество других программных машиностроительных прилагательных :)

Сигналы позволяют сделать то же самое резависимо от того, где происходит событие E И так, чтобы это делать в умных способах, которые позволяют поддерживать, читабельность и т. Д. ...

Да, я думаю, что говорят, что сигналы полезны для включения развязка действительно правда.

(Вы также упомянули многопоточь. Если вы сделали это, потому что вы думаете, что сигналы хороши, потому что они выполняются одновременно и так быстро ... ну ... Я не знаю, есть ли они одновременно выполнены, но в любом случае, я действительно понимаю, «Я думаю, что это точка для того, что Django сигналы полезны для)

Пример хорошего способа использования сигналов - это тот факт, что когда вы хотите хранить другую информацию для пользователя в Django, вы должны использовать Userprofiles. В этом случае сама документация говорит вам, что может быть удобно зарегистрировать сигнал в ответ на любое создание новых пользователей, просто чтобы добавить к новым созданным пользователям пустой профиль пользователя.

16
ответ дан 5 December 2019 в 07:35
поделиться

Это учебное пособие было полезно для предыдущего проекта, над которым я работал, используя PHP и OpenID. У него есть пример приложения.

http://devzone.zend.com/article/3581

alt text
(источник: zend.com )

-121--3159683-

Это делается

BOOL TMP = f();
[view setProp: TMP];
BOOL b = TMP;

Это обсуждалось до отправки свойств. Некоторые народные считали, что это должна быть ошибка компиляции, чтобы избежать двусмысленности.

Вероятно, лучше всего полностью избежать строительства.

-121--4998467-

Вот пример, который может помочь.

Предположим, что при сохранении экземпляра модели необходимо выполнить какое-либо действие. Однако это действие не имеет никакого отношения непосредственно к самой модели или экземпляру модели. Поэтому нет смысла помещать код для вашего действия в метод save () в модели. Это может привести к ненужной связке кода и загромождению. Вместо этого можно создать обработчик сигнала в другом месте приложения (или даже в другом приложении), где он имеет больше смысла.

4
ответ дан 5 December 2019 в 07:35
поделиться
Другие вопросы по тегам:

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