【发布时间】:2013-03-07 16:32:14
【问题描述】:
在我的项目中,可以使用电子邮件 ID 字段。
我正在收集作者的电子邮件 ID,并且在更新数据库中的详细信息时,应向该特定电子邮件 ID 发送一封电子邮件,说明书名已更新。
我的views.py是
def addbook(请求):
log.debug("test....")
form = BookForm
if request.POST:
form = BookForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
send_mail(cd['book_name'],cd['author_name'],cd.get(''),['to@example.com'],)
form.save()
return redirect('/index/')
return render_to_response('addbook.html',{ 'form':form },context_instance=RequestContext(request))
我正在使用这个 send_mail() 方法来执行它,但它没有按我预期的那样工作。
models.py 是
类书(models.Model):
book_id=models.AutoField(primary_key=True,unique=True)
book_name=models.CharField(max_length=30)
author_name=models.CharField(max_length=30)
publisher_name=models.CharField(max_length=40)
email = models.EmailField()
bookref = models.CharField(max_length=10)
class Meta:
db_table = u'Book'
def __unicode__(self):
return "%d %s %s %s %s" % (self.book_id,self.book_name, self.author_name,self.publisher_name,self.email,self.bookref)
forms.py
class BookForm(ModelForm):
log.debug("test....")
class Meta:
model = Book
fields=['book_id','book_name','author_name','publisher_name','email','bookref']
邮件应发送到电子邮件字段中提到的电子邮件 ID。
谢谢
【问题讨论】:
-
您是否在您的
settings.py中定义了EMAIL_HOST、EMAIL_PORT、EMAIL_HOST_USER和EMAIL_HOST_PASSWORD?还可以尝试打印cd['book_name']、cd['author_name']和cd.get(''),并确保您获得了适当的值。 -
“没有按预期工作” - 它是如何工作的?
-
我正在获取值,但它正在将邮件发送到硬编码的电子邮件 ID。我需要发送到字段中捕获的电子邮件 ID。接受任何帮助
-
@user2086641 很简单。传递从字段中捕获的电子邮件 ID,而不是对其进行硬编码。让您的问题变得清晰,以便更好地帮助您。
-
先生,无论我们在数据库中保存什么,电子邮件都应该发送到电子邮件 ID,即点击提交按钮时,书籍详细信息会保存在数据库中。同时,邮件应该发送到捕获的电子邮件 ID也。我认为这可能会清除。在上面的代码中做同样的任何错误请通知。
标签: django email django-views