Django 动态地为EMAIL\u HOST\u用户和EMAIL\u HOST\u密码分配值
我制作了一个名为ZohoMail的模型,如下所示:Django 动态地为EMAIL\u HOST\u用户和EMAIL\u HOST\u密码分配值,django,django-email,Django,Django Email,我制作了一个名为ZohoMail的模型,如下所示: class ZohoMail(models.Model): email = models.EmailField(null=True) password = models.CharField(max_length=255,null=True) def __str__(self): return self.email 我知道要发送电子邮件,我必须在settings.py文件中进行一些配置 #setting
class ZohoMail(models.Model):
email = models.EmailField(null=True)
password = models.CharField(max_length=255,null=True)
def __str__(self):
return self.email
我知道要发送电子邮件,我必须在settings.py文件中进行一些配置
#settings.py
EMAIL_PORT = 465
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.zoho.in'
EMAIL_HOST_USER = 'myemail@example.com'
EMAIL_HOST_PASSWORD = 'mypassword'
#settings.py
from myapp.models import ZohoMail
email_obj = ZohoMail.objects.get(email='myemail@example.com')
EMAIL_PORT = 465
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.zoho.in'
EMAIL_HOST_USER = email_obj.email
EMAIL_HOST_PASSWORD = email_obj.password
但如果我想像这样在settings.py文件中动态传递值,该怎么办
#settings.py
EMAIL_PORT = 465
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.zoho.in'
EMAIL_HOST_USER = 'myemail@example.com'
EMAIL_HOST_PASSWORD = 'mypassword'
#settings.py
from myapp.models import ZohoMail
email_obj = ZohoMail.objects.get(email='myemail@example.com')
EMAIL_PORT = 465
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.zoho.in'
EMAIL_HOST_USER = email_obj.email
EMAIL_HOST_PASSWORD = email_obj.password
我的问题是,我想知道如何动态设置电子邮件和密码,因为我想使用ZohoMail对象的电子邮件和密码的默认PasswordResetView。当我这样做时,我得到以下错误
File "/home/ubuntu/frameskraftvenv/lib/python3.6/site-packages/django/apps/registry.py", line 125, in check_apps_ready raise AppRegistryNotReady("Apps aren't loaded yet.")
p.S:密码以ZohoMail模型的纯文本形式存储。目前未使用加密您是否已将myapp添加到安装的应用程序列表的settings.py中?@FarhaniWalid yes这一行django/apps/registry.py中有什么内容,第125行?