首页 > 解决方案 > Django 3.1.4:在views.py的函数中获取复选框值

问题描述

我不想将复选框值存储在数据库中。我只是想在views.py中的一个函数中得到它,但我找不到如何去做。

我已经可以使用表单并处理这些值了。但是由于复选框,我必须允许用户选择选项。这些复选框值将是运行基于内容的图像检索的大脚本的参数。这是我的实际代码:

视图.py:

def form(request):

    val1 = int(request.GET['num1'])
    val2 = int(request.GET['num2'])
    res = val1 + val2

    return render(request, 'blog/article.html', {'result':res})

def essai(request):

    res = request.GET['checks []']

    return render(request, 'blog/article.html', {'result':res})

索引.html:

<form action="add">
    Enter 1st number : <input type="text" name="num1"><br>
    Enter 2nd number : <input type="text" name="num2"><br>
    <input type="submit">
</form>

<form action="essai">
    <input type="checkbox" name="checks []" value="1" />
    <input type="checkbox" name="checks []" value="2" />
    <input type="checkbox" name="checks []" value="3" />
    <input type="submit">
</form>

谢谢您的帮助!

标签: djangocheckboxdjango-views

解决方案


<form action="essai">
    <input type="checkbox" name="checks[]" value="1" />
    <input type="checkbox" name="checks[]" value="2" />
    <input type="checkbox" name="checks[]" value="3" />
    <input type="submit">
</form>
def essai(request):

    res = request.GET.getlist['checks[]']

    return render(request, 'blog/article.html', {'result':res})

注意:如果您要发送私人或秘密信息,如密码、信用卡信息,那么最好使用POST方法而不是GET表单中的方法。

<form action="essai" method="POST">
    <input type="checkbox" name="checks[]" value="1" />
    <input type="checkbox" name="checks[]" value="2" />
    <input type="checkbox" name="checks[]" value="3" />
    <input type="submit">
</form>
def essai(request):

    res = request.POST.getlist['checks[]']

    return render(request, 'blog/article.html', {'result':res})

推荐阅读