2015-05-12 7 views
0

Я хочу просить руководство о том, как это сделать Джанго уведомление по электронной почте https://docs.djangoproject.com/en/1.8/topics/email/#send-mailДжанго уведомление по электронной почте

У меня есть основная форма задачи и возможность назначить его кому-то, когда форма сохраняется, я хочу, чтобы отправить уведомление по электронной почте назначенному пользователю.

Работа/задача models.py

class Job(models.Model): 
    completed = models.BooleanField(default=False) 
    task_name = models.CharField(max_length=80, blank=False) 
    description = models.CharField(max_length=80, blank=False) 
    is_important = models.BooleanField(default=False) 
    completion_date = models.DateField(blank=True, null=True) 
    assign_to = models.ForeignKey(User, blank=True, null=True) 
    comments = models.TextField(blank=True) 

    def __unicode__(self): 
     return self.task_name 

Работа/задача view.py

@login_required 
def job(request): 

    if request.method == 'POST': 

     form = JobForm(request.POST) 

     if form.is_valid(): 
      job_record = form.save(commit=False) 
      job_record = form.save(commit=False) 
      job_record.user = request.user 
      job_record.save() 
      return redirect('jobs:list') 
    else: 
     form = JobForm() 

    return render(request, 'jobs/form.html', {'form': form}) 
+2

OK, что ваш вопрос? У вас есть вызов для сохранения и документация о том, как отправить электронное письмо, и где у вас проблемы? –

+0

Я довольно новичок в python и django, я не уверен, как и с чего начать, поэтому я прошу руководство/помощь/объяснение. – nope

+0

Вы настроили settings.py? Вы можете найти это полезным: https://www.youtube.com/watch?v=51mmqf5a0Ss –

ответ

0

Вы почти там:

@login_required 
def job(request): 

    form = JobForm(request.POST or None) 

    if form.is_valid(): 
     job_record = form.save(commit=False) 
     job_record.assign_to = request.user 
     job_record.save() 
     send_mail(
      subject="subject", 
      message="message", 
      from_email="[email protected]", 
      recipient_list=[job_record.assign_to.email] 
     ) 
     return redirect('jobs:list') 

    return render(request, 'jobs/form.html', {'form': form}) 
+0

Подробную информацию о пользовательской модели пользователя Django (https://docs.djangoproject.com/en/1.8/ref/contrib/auth/#django.contrib.auth.models.User) можно найти в документах, остальные - в вашем собственном коде. Одним из хороших способов изучения незнакомых объектов является 'pip install ipython', а затем использовать команду' ./manage.py shell' из Django, чтобы открыть консоль ipython и поэкспериментировать с созданием экземпляров ваших моделей и посмотреть доступные методы и атрибуты. – Anentropic

+0

Теперь его более понятная , большое спасибо! :) – nope

 Смежные вопросы

  • Нет связанных вопросов^_^