def post_share(request, post_id): # Retrieve post by id post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': # Fomr was submitted form = EmailPostForm(request.POST) if form.is_valid(): # Form fields passed validation cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = '{} ({}) recommends you reading "{}"'.format( cd['name'], cd['email'], post.title) message = 'Read "{}" at {}\n\n{}\'s comments: {}'.format( post.title, post_url, cd['name'], cd['comments']) send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', { 'post': post, 'form': form, 'sent': sent })
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) cleaned_name = cd.get('name') cleaned_email = cd.get('email') cleaned_comments = cd.get('comments') cleaned_to_field = cd.get('to') subject = '{} ({}) Recommends you read "{}"'.format( cleaned_name, cleaned_email, cleaned_comments) message = "Read '{}'' at {}\n\n{}\'s comments: {}".format( post.title, post_url, cleaned_name, cleaned_comments) send_mail( subject, message, EMAIL_HOST_USER, [cleaned_to_field], ) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', { 'post': post, 'form': form, 'sent': sent })
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = '{name} ({email}) recommends you reading' \ '"{post_title}"'.format(name=cd['name'], email=cd['email'], post_title=post.title) message = 'Read "{post_title}" at {url}\n\n {name}\'s comments: ' \ '{comments}'.format(post_title=post.title, url=post_url, name=cd['name'], comments=cd['comments']) send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', { 'post': post, 'form': form, 'sent': sent })
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): # in cd opbject we have valid data cd = form.cleaned_data # retrived data to mail post_url = request.build_absolute_uri(post.get_absolute_url()) subject = f"{cd['name']} recommended you read " \ f"{post.title}" message = f"Read {post.title} at {post_url}\n\n" \ f"{cd['name']} \'s comments: {cd['comments']}" to = (cd['to'], ) send_mail(subject, message, EMAIL_HOST_USER, to) sent = True else: # we assume that we get GET request # display empty form form = EmailPostForm() return render(request, 'blog/post/share.html', { 'post': post, 'form': form, 'sent': sent })
def post_share_email(request, post_id): post = get_object_or_404(Post, id=post_id, status="published") sent = False if request.method == "POST": form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = '{} ({}) recommends you reading "{}"'.format( cd["name"], cd["email"], post.title) message = 'read "{}" at {}\n\n{}\'s comments: {}'.format( post.title, post_url, cd["name"], cd["comments"]) send_mail(subject, message, "*****@*****.**", [cd["to"]]) sent = True else: form = EmailPostForm() return render( request, "blog/post/share.html", { "post": post, "form": form, "sent": sent }, )
def post_share(request, post_id): # Obtém a postagem com base no id post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': # Formulário foi submetido form = EmailPostForm(request.POST) if form.is_valid(): # FCampos do formulário passaram pela validação cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = f"{cd['name']} recommends you read {post.title}" message = f"Read {post.title} at {post_url}\n\n" \ f"{cd['name']}\'s comments: {cd['comments']}" send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', { 'post': post, 'form': form, 'sent': sent })
def post_share(request, post_id): search_form = SearchForm() # Retrieve the corresponding post post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': # This means a form has been submited form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = '{} ({}) recommends you reading "{}"' \ .format(cd['name'], cd['email'], post.title) message = 'Read "{}" at {}\n\n{}\'s comments : {}' \ .format(post.title, post_url, cd['name'], cd['comments']) try: send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True except SMTPAuthenticationError: sent = False else: form = EmailPostForm() return render(request, 'blog/post/share.html', {'post': post, 'form': form, 'sent': sent, 'search_form': search_form})
def post_share(req, pk): obj = get_object_or_404(Post, pk=pk, status='published') sent = False data = None if req.method == 'POST': form = EmailPostForm(req.POST) if form.is_valid(): data = form.cleaned_data print('obj.get_absoulute_url %s' % obj.get_absoulute_url()) print('obj.get_absoulute_url %s' % req.build_absolute_uri()) obj_url = req.build_absolute_uri(obj.get_absoulute_url()) subject = '{}({}) recommends you reading "{}"'.format( data['name'], data['email'], data['name']) message = 'Read "{}" at {}\n\n{}\'s comments: {}'.format( obj.title, obj_url, data['name'], data['comments']) if send_mail(subject, message, '*****@*****.**', [data['to']]): sent = True else: form = EmailPostForm() return render(req, 'blog/post/share.html', { 'obj': obj, 'form': form, 'sent': sent, 'data': data })
def post_share(request, post_id): # Retrieve post by id post = get_object_or_404(Post, pk=pk, status='published') sent = False if request.method == 'POST': # Form was submitted form = EmailPostForm(request.POST) if form.is_valid(): # Form fields passed validation cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = f"{cd['name']} recommends you read " \ f"{post.title}" message = f"Read {post.title} at {post_url}\n\n" \ f"{cd['name']}\'s comments: {cd['comments']}" send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', { 'post': post, 'form': form, 'sent': sent })
def post_share(request, post_id): """ обратоботчик принимающий post и get запросы для отправки вызывает функцию concat_and_send_email(request, post, data) где post - экземпляр модели Post data - cleaned_data """ post = get_object_or_404(Post, id=post_id, status='published') sent = False # print('\n\n--------------------------------------------\n', # request.method, # request.get_port, # request.get_raw_uri(), # request.headers, # request.body, # '---------------------------------------------\n\n',sep='\n') if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): data = form.cleaned_data sent = concat_and_send_email(request=request, post=post, data=data) # elif request.method == 'GET': else: form = EmailPostForm() context = { 'form': form, 'sent': sent, 'post': post, } return render(request, 'blog/share.html', context=context)
def post_share(request, post_id): # Retrieving post by id post = get_object_or_404(Post, id=post_id, status='published') sent = False context = dict() if request.method == 'POST': # Meaning form was submitted form = EmailPostForm(request.POST) if form.is_valid(): # Validation passed cd = form.cleaned_data # Make sure you allow email from unsecure apps is turned on if using gmail post_url = request.build_absolute_uri(post.get_absolute_url()) subject = '{} ({}) recommends you reading "{}"'.format( cd['name'], cd['email'], post.title) message = 'Read "{}" at {}\n\n{}\'s comments: {}'.format( post.title, post_url, cd['name'], cd['comments']) send_mail(subject, message, config('EMAIL_HOST_USER'), [cd['to']]) sent = True # Add to context if validation is passed context['cd'] = cd else: form = EmailPostForm() context['post'] = post context['form'] = form context['sent'] = sent return render(request, 'blog/post/share.html', context)
def post_share(request, post_id): # Получение статьи по идентификатору. post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': # Форма была отправлена на сохранение. form = EmailPostForm(request.POST) print(form) if form.is_valid(): # Все поля формы прошли валидацию. cd = form.cleaned_data print(cd) post_url = request.build_absolute_uri(post.get_absolute_url()) print(post_url) subject = '{} ({}) recommends you reading "{}"'.format( cd['name'], cd['email'], post.title) message = 'Read "{}" at {}\n\n{}\'s comments:{}'.format( post.title, post_url, cd['name'], cd['comments']) send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True # {'name':'asdsa', 'email': 'adsad'} # ... Отправка электронной почты. else: form = EmailPostForm() return render(request, 'blog/share.html', { 'post': post, 'form': form, 'sent': sent })
def post_share(request, year, month, day, post): """ A View function that shares posts via email :param request: :param year: :param month: :param day: :param post: :return: """ post = get_object_or_404(Post, slug=post, publish__year=year, publish__month=month, publish__day=day, status='published') template = "blog/post/share.html" sent = False if request.method == "POST": form = EmailPostForm(request.POST) # import pdb; pdb.set_trace() if form.is_valid(): cd = form.cleaned_data # TODO: Send the email post_url = request.build_absolute_uri(post.get_absolute_url()) subject = f"{cd['first_name']} {cd['last_name']} recommends you read {post.title}" message = f"Read {post.title} at {post_url}\n\n{cd['name']}\'s comments: {cd['comments']}" send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True else: form = EmailPostForm() context = {"post": post, "form": form, "sent": sent} return render(request, template, context)
def test_send_email_with_email_post_form(self): """ Test sharing post with EmailPostForm """ post = PostFactory.create() form = EmailPostForm({ 'name': 'John Doe', 'email': '*****@*****.**', 'to': '*****@*****.**', 'comments': 'some comments' }) post_url = post.get_absolute_url() if form.is_valid(): cd = form.cleaned_data subject = f"{cd['name']} recommends you read {post.title}" message = f"Read {post.title} at {post_url}\n\n" \ f"{cd['name']}\'s comments: {cd['comments']}" mail.send_mail(subject, message, '*****@*****.**', [cd['to']]) self.assertEqual(len(mail.outbox), 1) self.assertEqual(mail.outbox[0].subject, subject) else: self.assertTrue(form.is_valid)
def post_share(request, post_id): """获取post对象的id""" post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': """提交表格""" form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data print(cd) post_url = request.build_absolute_uri(post.get_absolute_url()) subject = '{} ({}) recommends you reading "{}"'.format( cd['name'], cd['email'], post.title) message = 'Read "{}" at {}\n\n{}\'s comments: {}'.format( post.title, post_url, cd['name'], cd['comments']) send_mail(subject, message, '*****@*****.**', [cd["to"]]) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', { "post": post, "form": form, "sent": sent })
def test_valid_email_post_form_sends_email(self): form = EmailPostForm({ 'name': 'Luke Skywalker', 'email': '*****@*****.**', 'to': '*****@*****.**', 'comments': 'This is comments...' }) self.assertTrue(form.is_valid())
def test_form_validation_minimum_data(self): form = EmailPostForm( data={ 'name': 'user', 'sender': '*****@*****.**', 'recipient': '*****@*****.**' }) self.assertTrue(form.is_valid())
def test_email_valid_data(self): form = EmailPostForm(data={ 'name': 'jmr', 'email': '*****@*****.**', 'to': '*****@*****.**', 'comments': 'I learn a lot from your stuff' }) self.assertTrue(form.is_valid())
def test_email_post_form_with_invaild_data(self): """ Test email post form with invalid data """ form = EmailPostForm({ 'name': 'John Doe', 'email': 'invalidemail', 'to': 'invalidemail' }) self.assertFalse(form.is_valid())
def test_email_post_form_with_vaild_data(self): """ Test email post form with valid data """ form = EmailPostForm({ 'name': 'John Doe', 'email': '*****@*****.**', 'to': '*****@*****.**', 'comments': 'some comments' }) self.assertTrue(form.is_valid())
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='published') if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data else: form = EmailPostForm() return render(request, 'blog/post/share.html', { 'post': post, 'form': form })
def post(self, request, *args, **kwargs): post = self.get_post(**kwargs) form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = f"{cd['name']} ({cd['email']}) recommends you reading {post.title}" message = f"Read {post.title} at {post_url}\n\n{cd['name']}\'s comments: {cd['comments']}" msg = EmailMessage(subject, message, to=['*****@*****.**']) msg.send(fail_silently=False) sent = True return render(request, 'blog/post/share.html', {'post': post, 'form': form, 'sent': sent})
def post_share(req, post_id): obj = get_object_or_404(Post, id=post_id, status='published') data = None if req.method == 'POST': form = EmailPostForm(req.POST) if form.is_valid(): data = form.cleaned_data else: form = EmailPostForm() return render(req, 'blog/post/share.html', { 'obj': obj, 'form': form, 'data': data })
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = '{}({}) zachęca do przeczytania "{}"'.format(cd['name'], cd['email'], post.title) message = 'Przeczytaj post "{}" na stronie {}\n\n Komentarz dodany przez {}: {}'.format( post.title, post_url, cd['name'], cd['comments']) send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', {'post': post, 'form': form, 'sent': sent, 'cd':cd})
def post_share(request, post_id): # Pobranie posta na podstawie jego identyfikatora. post = get_object_or_404(Post, id=post_id, status='published') if request.method == 'POST': # Formularz został wysłany. form = EmailPostForm(request.POST) if form.is_valid(): # Weryfikacja pól formularza zakończyła się powodzeniem… cd = form.cleaned_data # … więc można wysłać wiadomość e-mail. sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', { 'post': post, 'form': form })
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='published') sent = False cd = '' if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = '{} ({}) recommends you reading "{}"'.\ format(cd['name'], cd['email'], post.title) message = 'Read "{}" at {}\n\n{}\'s comments: {}'.\ format(post.title, post_url, cd['name'], cd['comments']) send_mail(subject, message, '*****@*****.**',[cd['to']]) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', {'post':post, 'form':form, 'sent':sent,'cd':cd})
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = f"{cd['name']} recommends that you read {post.title}" message = f"Read {post.title} at {post_url}" send_mail(subject=subject, message=message, recipient_list=[cd['to'], ], from_email='*****@*****.**') sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', {'post': post, 'form': form, 'sent': sent})
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = '{} ({}) recommends you read "{}"'.format(cd['name'], cd['email'], post.title) message = 'Read "{}" at {}\n\n{}\'s comments: {}'.format(post.title, post_url, cd['name'], cd['comments']) send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', {'post': post, 'form': form, 'sent': sent})
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='published') sent= False if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = f'{cd["name"]} ({cd["email"]}) recommends you reading {post.title}' message = f'Read {post.title} at {post_url} \n\n {cd["name"]}\'s comments {cd["comments"]}' send_mail(subject, message, EMAIL_HOST_USER, [cd['to']], fail_silently=False) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', {'post': post, 'form': form, 'sent': sent})
def post_share(request, post_id): #Retrieve post by id post = get_object_or_404(Post, id=post_id,status='published') sent = False if request.method==POST: #Form was submitted form = EmailPostForm(request.POST) if form.is_valid(): #Form fields passed validation cd = form.cleaned_data post_url = request.build_absolute_url(post.get_absolute_url()) subject = '{} ({}) recommends you reading "{}"'.format(cd['name'], cd['email'], post.title) message = 'Read "{}" at {}\n\n{}\'s comments: {}'.format(post.title, post_url, cd['name'], cd['comments']) send_mail(subject, message, '*****@*****.**',[cd['to']]) sent = True #...send email else: form = EmailPostForm() return render(request, 'blog/post/share.html',{'post':post, 'form':form})
def post_share(request, post_id): # Поиск поста по id post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = f"Пользователь {cd['name']} рекомендует Вам прочитать {post.title}" message = f"Прочитайте статью {post.title} по ссылке {post_url}\n\n " \ f"Коментарии пользователя {cd['name']}: {cd['comments']}" send_mail(subject, message, EMAIL_HOST_USER, [cd['to']]) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', { 'post': post, 'form': form, 'sent': sent })
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='published') sent = False if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = f"{cd['name']} ({cd['email']}) recommends you reading {post.title}" message = f"Read {post.title} at {post_url} {cd['name']} {cd['comments']}" send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True else: form = EmailPostForm() context = { 'post': post, 'form': form, 'sent': sent, } return render(request, 'post/share.html', context)
def post_share(request, post_id): post = get_object_or_404(Post, id=post_id, status='publiched') sent = False if request.method == 'POST': form = EmailPostForm(request.POST) if form.is_valid(): cd = form.cleaned_data post_url = request.build_absolute_uri(post.get_absolute_url()) subject = '{} ({}) рекомендую к прочтению "{}"'.format(cd['name'], cd['email'], post.title) message = 'Читать "{}" at {}\n\n{}\'s комментарий: {}'.format(post.title, post_url, cd['name'], cd['comments']) send_mail(subject, message, '*****@*****.**', [cd['to']]) sent = True else: form = EmailPostForm() return render(request, 'blog/post/share.html', {'post': post, 'form': form, 'sent': sent})