Django错误:“方法”对象不可下标

时间:2020-11-11 04:32:48

标签: django django-models django-forms

我正在尝试创建一个简单的表单,但是每当我按回车按钮时,都会显示此错误吗?那我做错了什么?

这是我的观点:

@login_required
def voted(response):
    user = Userdata.objects.get(id=response.user.id)  # get the username
    if user.is_voted == True:
        return render(response, 'Main/voting.html', {'calon' : Voting.objects.order_by('id'), 'hasil' : 'You Have Voted'})
    if response.method == 'POST':
        id = int(response.POST.get['idcalon'])
        calon2 = Voting.objects.get(id = id)  # get user selection in html
        user.is_voted = True
        calon2.voters += 1
        user.save()
        calon2.save()
    return render(response, 'Main/voting.html', {'calon' : Voting.objects.order_by('id')})  # balik ke sendiri

这是HTML:

<form method="POST">
                      {% if calon %}
                          {% for para in calon %}
                            <div class="custom-control custom-checkbox small" style="line-height: 1.5rem;">
                        <input type="radio" id="huey" name="idcalon" value="{{ forloop.counter }}" checked>
                                <label for="huey">{{ para.name }}</label>  </div>
                          {% endfor %}
                      {% else %}
                      {% endif %}
                  <div class="form-group">
                      <div class="col-sm-10">{% csrf_token %}
                      <button type="submit" class="btn btn-primary">Vote Now</button></div>
                    </div>
</form>

我的客人非常重视HTML的价值,但是我个人不知道如何解决它。谢谢

1 个答案:

答案 0 :(得分:2)

.get() 是一种方法,应该使用 paranthesis as

来调用它
response.POST.get('idcalon')

您还可以通过{p>从request.POST检索所需的值

response.POST['idcalon']