Я пытаюсь показать таблицу умножения числа из формы. Вот моя палитра.Django view не возвращает то, что я хочу
<form method="post" action="/home/result/">
<p>Enter your name</p>
<p><input type="text" name="nombre"></p>
<p>Enter you last name</p>
<p><input type="text" name="apellido"></p>
<p>Enter number for the table of that number</p>
<p><input type="number" name="table1"></p>
<p><input type="submit" name="Submit"></p>
</form>
Теперь, вот мой взгляд
@csrf_exempt
def get_name(request):
numbers = []
if request.method == 'POST':
nombre = request.POST.get('nombre')
apellido = request.POST.get('apellido')
table = request.POST.get('table1')
for i in range(1, 13):
numbers.append(i*table)
context = {
'nombre': nombre,
'apellido': apellido,
'numbers': numbers
}
template = loader.get_template('home/result.html')
return HttpResponse(template.render(context, request))
else:
template = loader.get_template('home/nombre.html')
return HttpResponse(template.render())
Вот мой другой вид, result.html
<p>Hello {{ nombre }} {{ apellido }}</p>
{% for number in numbers %}
{{ number }}<br />
{% endfor %}
Итак, я вхожу 6, это то, что я вижу. Я попробовал это на своем терминале, и я получил правильный результат. Что это может быть неправильно?
6
66
666
6666
66666
666666
6666666
66666666
666666666
6666666666
66666666666
666666666666
Обратите внимание, что 'int (table)' может вызвать 'ValueError', если пользователь не отправит номер. Если вы используете [Django forms] (https://docs.djangoproject.com/en/1.10/topics/forms/) и ['IntegerField'] (https://docs.djangoproject.com/en/1.10/ref/forms/fields/# integerfield), то Django позаботится о проверке ввода и преобразовании значения в целое. – Alasdair