это скорее вопрос о том, где найти, как я это сделаю, а не о том, как это сделать. Я уверен, что это хорошо освещено, я просто пытаюсь сформулировать правильный термин, который я мог бы использовать в Google и найти ответ.
Во всяком случае, у меня есть веб-приложение Python Flask. На веб-странице есть поле ввода, которое запрашивает ввод данных пользователем. Я хотел бы, чтобы произошло какое-то волшебство с пользовательским вводом в фоновом режиме. В моем собственном сценарии я хотел бы взять URL-адрес, а затем использовать bs4, чтобы выбрать то, что мне нужно, и отобразить это на веб-странице.
Для простоты я попрошу что-нибудь простое, а затем смогу построить его оттуда: если я попрошу пользователя указать число, а затем нажму «Отправить», как я могу умножить число на 10?
Если бы мой код для формы был index.html
:
<form class="form-horizontal" role="form" method="post" action="/">
{{ form.csrf_token }}
<fieldset>
<div class="form-group">
<label for="GetNum" class="col-lg-2 control-label">Enter Number</label>
<div class="col-lg-6">
<input type="text" id="GetNum" name="GetNum" class="form-control" value="">
</div>
<input class="btn btn-success" type="submit" value="Calculate">
</div>
</fieldset>
</form>
Я заметил, что могу получить ввод для печати в абзац с помощью <p>form.request.GetNum</p>
.
Теперь для примера этого вопроса код для бэкэнда будет таким:
import math
GetNum = 10 #should be form.request.GetNum value
CalcResult = GetNum*1000
print CalcResult # or {{ CalcResult.data }} or something in index.html
Мой контроллер (app.py
) выглядит так:
@app.route('/', methods=['GET', 'POST'])
@login_required
def home():
error = None
form = PostForm(request.form) # unrelated to question, but will this clash?
if .. :
do something
return redirect(..)
else:
do something else..
return render_template(..)
Меня беспокоит то, что функция home
в конечном итоге будет иметь массу кода, если мне придется поместить туда математическую функцию. Итак, tl; dr, как мне реализовать внутреннюю функцию в моем коде? (или, пожалуйста, предоставьте мне материал для чтения, спасибо!)
Еще одна вещь: у меня уже есть форма на моей странице '/', мне придется переименовывать формы, такие как form1 form2, потому что они будут конфликтовать, или все будет в порядке?