Я пытаюсь сохранить сообщения, отправленные на номер Twilio, и поскольку они отправляются как HTTP-запрос, я думал, что могу получить значения параметров с запросом.POST, но как сохранить эти значения и сохранить их в базе данных для поиск позже? Вот код, который я придумал, но он не работает.Как сохранить request.POST значения в базе данных с Django?
views.py
@csrf_exempt
def incoming(request):
from_ = request.POST.get('From')
body_ = request.POST.get('Body')
to_ = request.POST.get('To')
m = Message.objects.create(sentfrom=from_, content=body_, to=to_)
m.save()
twiml = '<Response><Message>Hi</Message></Response>'
return HttpResponse(twiml, content_type='text/xml')
Код работы, когда я удалить все request.POST и запрос к базе данных
@csrf_exempt
def incoming(request):
twiml = '<Response><Message>Hi</Message></Response>'
return HttpResponse(twiml, content_type='text/xml')
Вот модель Сообщение от models.py
class Message(models.Model):
to = models.ForeignKey(phoneNumber, null=True)
sentfrom = models.CharField(max_length=15, null=True)
content = models.TextField(null=True)
def __str__(self):
return '%s' % (self.content)
Звучит правильно, особенно если полезная нагрузка POST предсказуема (вы знаете, какие поля вы возвращаете). Я бы создал модель для хранения этой информации и ModelForm для проверки/очистки. Вы можете пропустить модель и просто определить форму, если вы храните эту информацию в другом месте. – Flowpoke