Получать стоимость формуляра

Я стараюсь доставать оцени их form, который не в forms.py, кроме этого у него есть кнопка, чтобы добавлять еще одну стоимость, к чему я стремлюсь, состоит в том, чтобы печатать только на экране вошедшую стоимость, неудачно я не смог способствовать тому, чтобы оно функционировало.

Сообщение ошибки

изменчивое помещение 'response' referenced before assignment

urls

url(r'^test', views.test),

views

def test(request):
    if request.method == "POST":
        response = ''
        for key, value in request.POST.items():
            response += '%s %s\n' % (key, value)

    return HttpResponse(response)




    return render(request, 'datos2.html')

datos2.html

{% csrf_token %}

ADD VALUE

Во время выполнения этого у меня выходит следующая ошибка

изменчивое помещение 'response' referenced before assignment

introducir la descripción de la imagen aquí

0
задан 27.07.2017, 20:38
2 ответа

Твой return return HttpResponse(response) будь вне условного, из-за llo, который, если он не вводит в условного переменную response никогда она не определена пробует так...

def test(request):
    if request.method == "POST":
        response = ''
        for key, value in request.POST.items():
            response += '%s %s\n' % (key, value)

        return HttpResponse(response) # nota, cuatro espacios de mas de indentación

return render(request, 'datos2.html')
1
ответ дан 24.11.2019, 13:10

Я представляю, что он хочет показать стоимость, которая была добавлена динамической формы, но javascript не добавлен стоимость в формуляре, если не в body, что ocaciona, что не были посланы в просьбе, должно бы быть таким:

<form id="test" method="post">
    {% csrf_token %}
</form>

<p>ADD VALUE</p>

<button onclick="myFunction()">ADD</button>

<script type="text/javascript">
    function myFunction() {
        form = document.getElementById('test')
        var x = document.createElement("INPUT");
        x.setAttribute("type", "text");
        x.setAttribute("value", "0");
        x.setAttribute("name", "eee");
        form.appendChild(x)
    }
</script>

Сейчас логика, чтобы показывать стоимость, давайте говорить, что он хорошо, но не является ясной, поэтому я изменил ее немного:

for key, value in request.POST.items():
    response = ''
    if key != 'csrfmiddlewaretoken':
         response += 'llave: %s valor:%s<br>' % (key, value)
0
ответ дан 24.11.2019, 13:10

Теги

Похожие вопросы