ОШИБКА: ваше представление возвращает объект HttpResponse. Вместо этого он вернул неожиданную сопрограмму. Возможно, вамPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 ОШИБКА: ваше представление возвращает объект HttpResponse. Вместо этого он вернул неожиданную сопрограмму. Возможно, вам

Сообщение Anonymous »

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

Код: Выделить всё

from asgiref.sync import sync_to_async
import asyncio
Это представление добавления событий

Код: Выделить всё

@login_required(login_url='/login/')
async def add_event_view(request):

if request.method == 'POST':

title = request.POST.get('title')
description = request.POST.get('editor')
menu = request.POST.get('menu')
tags = request.POST.get('tags')
banner = request.FILES.get('banner')
data = request.FILES.get('data', None)
organised_by = request.POST.get('organised_by', None)
sponsored_by = request.POST.get('sponsored_by', None)
event_date = request.POST.get('event_date', None)
uploaded_at = request.POST.get('uploaded_at')

Event.objects.create(user_id=request.user, event_title=title, event_description=description, event_category=menu, event_tags=tags,
event_banner=banner, event_data=data, organised_by=organised_by, sponsored_by=sponsored_by, event_date=event_date, uploaded_at=uploaded_at)

await sync_to_async(send_email(title))

return redirect(etab_view)
Это функция отправки электронной почты

Код: Выделить всё

async def send_email(title):

event = Event.objects.get(event_title=title)

content = render_to_string("email.html", {'et': event})

subs = Subscriber.objects.values_list('email_address', flat=True)

email = EmailMultiAlternatives('Emagazine Update', content, settings.EMAIL_HOST_USER, list(subs))
email.attach_alternative(content, "text/html")
email.fail_silenty = False
email.send()
Я получаю следующую ошибку:
Представление EMAG_APP.views.add_event_view не вернуло объект HttpResponse. Вместо этого он вернул неожиданную сопрограмму. Возможно, вам придется добавить в представление «ожидание».
Может ли кто-нибудь мне помочь?

Подробнее здесь: https://stackoverflow.com/questions/649 ... ed-corouti
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»