2016-01-28 4 views
1

Я хочу обновить мой адрес электронной почты и пароль, который присутствует в моей базе данных .. Я не знаю, как его обновить. но я упомянул об этом в файле settings.py. например,Как получить доступ к атрибутам модели или просмотров в django settings.py?

EMAIL_HOST_USER = '[email protected]' 

EMAIL_HOST_PASSWORD = 'passxxpass'.... 

i want to change it dynamically while updating my database. 

В моей таблице указаны эти идентификаторы электронной почты и пароль. он может динамически меняться в зависимости от требований пользователя. поэтому я хочу сделать то же самое в EMAIL_HOST_USER и PASSWORD ... отправить мою почту ..

ответ

0
I Solved this by importing the below package in my view file, 
    import django.conf as conf ... 
and using this i made the changes whatever i want dynamically like, for changing my EMAIL_HOST by using like this, 
    get_mail_data = mymodels.objects.get(head='Admin') 
    conf.settings.EMAIL_HOST_USER = get_mail_data.from_mail 

above is just an example what i used in my code... there from_mail is field present in my table. 
0

Вы не должны этого делать. Настройки предназначены для вещей, которые не меняются; если ваша электронная почта динамична, вы должны установить это в представлении при отправке почты.

+0

я сделал это в поле зрения, но я не могу настроить имя пользователя и пароль для почты из views.py ... как это сделать? Я использую «EmailMultiAlternatives» для отправки html-шаблона вместе с моей почтой –

0

Вы не можете этого сделать. Кроме того, вы не должны этого делать.

Лучший способ сделать это, создав таблицу «Variable» в вашей базе данных. Доступ к значениям из таблицы, а не файла настроек.

1

Джанго send_mail (который я предполагаю, что вы используете) имеет два параметра для auth_user и auth_password, вы должны использовать их вместо того, чтобы пытаться изменить настройки

send_mass_mail и другие также имеют эти параметры