【问题标题】:How can i get the data-value with what statment?如何使用什么语句获取数据值?
【发布时间】:2021-09-28 16:30:13
【问题描述】:

如何获取数据值?

在html文件上

<form method='get' action='#'>
                        <input type="submit" data-value="1" value="Edit" name="Type" />
                        <input type="submit" data-value="1" value="Delete" name="Type" />

在 django 视图中

if request.GET.get('Type') == 'Delete':
    print (request.GET.get('Delete'))

【问题讨论】:

    标签: python html django if-statement button


    【解决方案1】:

    您可以使用&lt;button&gt; 标记并指定名称-值对:

    <form method='get' action='#'>
        <button name="Type" value="Edit" type="submit" data-value="1">Edit</button>
        <button name="Type" value="Delete" type="submit" data-value="1">Delete</button>
    </form>

    或者如果您也想提交值,我们可以这样做:

    <form method='get' action='#'>
        <button name="Type" value="Edit-1" type="submit">Edit</button>
        <button name="Type" value="Delete-1" type="submit">Delete</button>
    </form>

    在这种情况下,我们可以在视图中检查:

    if request.GET.get('Type', '').startswith('Delete'):
        __, item = request.GET['Type'].split('-', 1)

    在这种情况下,item 将包含连字符后的值。


    注意Section 9 of the HTTP protocol 指定像 GET 和 HEAD 这样的请求应该有副作用,所以你 不应更改具有此类请求的实体。通常是 POST、PUT、PATCH 和 DELETE 请求用于此目的。在这种情况下,您可以制作一个小的&lt;form&gt; 将触发 POST 请求,或者您使用一些 AJAX 调用。

    【讨论】:

    • 但是使用什么语句来获得这些值?
    • 它将在request.GET.get('Type')中,如果你没有点击按钮,那么request.GET当然不会包含Type
    • 我仍然不知道如何获取数据值{ data-value="1" },我只能获取{删除}
    • @onkwanon:因为不是值,如果要传值,应该指定value="1",因此delete
    • 我只是在想如何从按钮中获取多值。还是谢谢你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 2020-08-27
    • 2023-04-04
    相关资源
    最近更新 更多