0

私のプロジェクトでは、電子メール 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 は

クラス Book(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)

フォーム.py

class BookForm(ModelForm):

    log.debug("test....")

    class Meta:
        model = Book

        fields=['book_id','book_name','author_name','publisher_name','email','bookref']

電子メール フィールドに記載されている電子メール ID にメールが送信されます。

ありがとう

4

1 に答える 1

4

設定.py

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'user'
EMAIL_HOST_PASSWORD = 'password'
DEFAULT_FROM_EMAIL = 'your email'

ビュー.py

if request.POST:
    form = BookForm(request.POST)
    if form.is_valid():
        cd = form.cleaned_data

        email_to = cd['email']
        subject = "{0} Update".format(
            cd['book_name'])
        message = "Author: {0}\n\n Your book name is updated".format(
            cd['author_name'])
        send_mail(subject, message, settings.DEFAULT_FROM_EMAIL,[email_to,])

        form.save()
        return redirect('/index/')
于 2013-03-19T05:47:41.857 に答える