【问题标题】:How to access model or views attributes in django settings.py?如何访问 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_USERPASSWORD... 中做同样的事情来发送我的邮件..

【问题讨论】:

    标签: django django-models django-views django-settings


    【解决方案1】:

    Django 的send_mail(我猜你正在使用)有两个参数用于auth_userauth_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.
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-23
          • 1970-01-01
          • 2015-10-22
          • 1970-01-01
          • 2012-01-28
          • 1970-01-01
          相关资源
          最近更新 更多