【问题标题】:Creating new model in Django with POST data from Python requests使用来自 Python 请求的 POST 数据在 Django 中创建新模型
【发布时间】:2018-02-20 04:33:54
【问题描述】:

我正在尝试从 Python 请求发出的 POST 请求中获取信息并将它们添加到我的模型中:

def message(request):

    if request.method == 'POST':
        form = InputInfoForm(request.POST)
        #form models make validation easy
        if form.is_valid():
            InputInfo.name = request.POST.get('name')
            InputInfo.conversation_id = request.POST.get('conversation_id')
            InputInfo.message_body = request.POST.get('message_body')


        return HttpResponse(status=200)

    return HttpResponse(status=200)

这是请求

post_data = {'name': 'charles', 'conversation_id': '3', 'message_body': 'Ada Challenge'}
r = requests.post('http://127.0.0.1:8000/message/', data=post_data)

我不确定我是否在视图中处理请求

【问题讨论】:

  • InputInfoForm是范本吗?
  • 是的,InputForm 只是普通型号
  • 如果它的模型形式创建一个新对象,你可以只做form.save()
  • 我之前试过,它告诉我InputInfoForm 没有属性保存
  • 添加InputInfoForm的代码sn-p。

标签: python django post python-requests


【解决方案1】:

如 cmets 中所述,InputInfoFormModelForm。所以你可以在调用form.is_valid 方法后调用form.save 方法。

if form.is_valid():
    form.save() # This method will handle data saving part, no need to assign explicitly

【讨论】:

    猜你喜欢
    • 2020-07-26
    • 2016-10-17
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 2020-03-18
    • 2021-12-26
    • 1970-01-01
    • 2013-06-12
    相关资源
    最近更新 更多