【问题标题】:how template POST parameter to view?模板POST参数如何查看?
【发布时间】:2018-05-08 00:30:42
【问题描述】:

嗨~ o( ̄▽ ̄)ブ,我有一个关于django模板POST值的问题要查看。我这样做了: 按钮:

for item in items
<input type="button" id="btn1" class="btn btn-info btn-xs" name="{{item.sn}}" value="parse" onclick="func1(this.name)"
<input type="button" id="btn2" class="btn btn-info btn-xs" name="{{item.name}}" value="report" onclick="func2(this.name)

按钮将唯一值传递给视图的函数。

views:
if request.method == 'POST':
    if btn1...?
        function1...
    if btn2...?
        function2...

现在我想在单击按钮时获取相应的参数。它们分别用于两个功能。我用ajax发布参数。但是我不知道如何为function1制作btn1的参数,为function2制作btn2的参数。作为'?标记表示。如何编写ajax代码和视图的'?代码

谢谢!

【问题讨论】:

  • 尝试写代码而不是图像

标签: ajax django django-templates django-views


【解决方案1】:

可能你需要这样的东西

jQuery

function func1(param){
    $.ajax({
        dataType: "json",
        url: '/your/url/here/',
        data: {"button": "button1",
               "param": param,
                "csrfmiddlewaretoken": $("input[name=csrfmiddlewaretoken]").val()
        },
        type: "POST",
        success: function(data){
            console.log("Post OK");
        }
    }); 
}

蟒蛇

if request.is_ajax():
    button_name = request.POST.get('button', None)
    button_param = request.POST.get('param', None)
    if button_name == "button1":
        func_form_button1(param)
    elif button_name == "button2":
        func_form_button2(param)

【讨论】:

  • 谢谢,我用request.data.get可以得到POST数据,但是request.POST.get什么都没有,这是怎么回事?
  • 你使用 django-rest-framework 吗?它有具有 request.data 的 Request 对象。因此,您的数据位于 request.data 而不是 request.POST 中。标准 django HttpRequest 没有 request.data (docs.djangoproject.com/en/1.11/ref/request-response/…)
猜你喜欢
  • 1970-01-01
  • 2019-11-30
  • 2017-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多