Как определить значение по умолчанию для пользовательской настройки Django

Если у вас запущена служба SMTP, вы можете отправить ее в папку для удаления. Если у вас большой объем, вы можете получить дубликаты имен файлов, но есть способы избежать этого.

В противном случае вам нужно будет создать UDF.

Вот пример решения триггера:

CREATE TRIGGER test.autosendfromdrop BEFORE INSERT ON test.emaildrop
FOR EACH ROW BEGIN
      /* START THE WRITING OF THE EMAIL FILE HERE*/      
      SELECT  concat("To: ",NEW.To),
              concat("From: ",NEW.From),
              concat("Subject: ",NEW.Subject),
              NEW.Body
          INTO OUTFILE 
                   "C:\\inetpub\\mailroot\\pickup\\mail.txt" 
              FIELDS TERMINATED by '\r\n' ESCAPED BY '';            
END;

Для разметки тела сообщения вам понадобится что-то вроде этого ...

CREATE FUNCTION `HTMLBody`(Msg varchar(8192)) 
    RETURNS varchar(17408) CHARSET latin1 DETERMINISTIC
BEGIN
  declare tmpMsg varchar(17408);
  set tmpMsg = cast(concat(
      'Date: ',date_format(NOW(),'%e %b %Y %H:%i:%S -0600'),'\r\n',
      'MIME-Version: 1.0','\r\n',
      'Content-Type: multipart/alternative;','\r\n',
      ' boundary=\"----=_NextPart_000_0000_01CA4B3F.8C263EE0\"','\r\n',
      'Content-Class: urn:content-classes:message','\r\n',
      'Importance: normal','\r\n',
      'Priority: normal','\r\n','','\r\n','','\r\n',
      'This is a multi-part message in MIME format.','\r\n','','\r\n',
      '------=_NextPart_000_0000_01CA4B3F.8C263EE0','\r\n',
      'Content-Type: text/plain;','\r\n',
      '  charset=\"iso-8859-1\"','\r\n',
      'Content-Transfer-Encoding: 7bit','\r\n','','\r\n','','\r\n',
      Msg,
      '\r\n','','\r\n','','\r\n',
      '------=_NextPart_000_0000_01CA4B3F.8C263EE0','\r\n',
      'Content-Type: text/html','\r\n',
      'Content-Transfer-Encoding: 7bit','\r\n','','\r\n',
      Msg,
      '\r\n','------=_NextPart_000_0000_01CA4B3F.8C263EE0--'
      ) as char);
  RETURN tmpMsg;
END ;
30
задан sth 8 April 2011 в 22:56
поделиться

1 ответ

В моих приложениях у меня есть отдельный файл settings.py. В этом файле у меня есть функция get (), которая просматривает файл проекта settings.py и, если не найден, возвращает значение по умолчанию.

from django.conf import settings

def get(key, default):
    return getattr(settings, key, default)


APPLES = get('APPLES', 1)

Тогда, где мне нужно получить доступ к APPLES, у меня есть:

from myapp import settings as myapp_settings

myapp_settings.APPLES

Это позволяет переопределить в проектах settings.py, getattr сначала проверит там и вернет значение, если атрибут найден или используйте значение по умолчанию, определенное в файле настроек вашего приложения.

28
ответ дан 27 November 2019 в 23:56
поделиться
Другие вопросы по тегам:

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