如何访问 django settings.py 中的模型或视图属性?
Posted
技术标签:
【中文标题】如何访问 django settings.py 中的模型或视图属性?【英文标题】:How to access model or views attributes in django settings.py? 【发布时间】:2016-05-05 16:07:00 【问题描述】:我想更新我的电子邮件主机用户和密码,它存在于我的数据库中.. 我不知道如何更新它。但我在我的 settings.py 文件中提到了它。像这样,
EMAIL_HOST_USER = 'sender_mail@mail.com'
EMAIL_HOST_PASSWORD = 'passxxpass'....
i want to change it dynamically while updating my database.
我的表包含那些电子邮件 ID 和密码。它可以根据用户要求动态变化。所以我想在 EMAIL_HOST_USER
和 PASSWORD
... 中做同样的事情来发送我的邮件..
【问题讨论】:
【参考方案1】:Django 的send_mail
(我猜你正在使用)有两个参数用于auth_user
和auth_password
,你应该使用它们而不是尝试更改设置
send_mass_mail
等也有这些参数
【讨论】:
【参考方案2】:你不应该这样做。设置用于不变的事物;如果您的电子邮件是动态的,您应该在发送邮件时在视图中进行设置。
【讨论】:
我在 view 中这样做了,但我无法从 views.py 中设置邮件用户名和密码... 怎么做?我正在使用“EmailMultiAlternatives”将 html 模板与我的邮件一起发送【参考方案3】:你不能这样做。另外,您不应该这样做。
通过在数据库中创建“变量”表来实现此目的的更好方法。 从表而不是设置文件中访问值。
【讨论】:
【参考方案4】: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.
【讨论】:
以上是关于如何访问 django settings.py 中的模型或视图属性?的主要内容,如果未能解决你的问题,请参考以下文章
我可以从 Django 中的模板访问 settings.py 中的常量吗?
Django settings.py 中设置访问 MySQL 数据库一种是直接在 settings.py 文件中直接写数据库信息,另一种是读文件获取数据库信息
Django settings.py 中设置访问 MySQL 数据库一种是直接在 settings.py 文件中直接写数据库信息,另一种是读文件获取数据库信息
Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)