Передача HTML для значения в представление django (для запроса моделей базы данных)
У меня есть форма ввода внутри HTML-страницы, и я хочу, чтобы ID фигуры, введенный в форму, передавался в представление django для выполнения запроса, отображающего информацию о фигуре с соответствующим ID.
Моя форма:
<form metohd="GET" id="figure_choice_form">
<label for="figure_id">Enter ID</label>
<input type="text" id="figure_id" name="figure_id">
<button> Submit </button>
</form>
Мой views.py
def from_DB(request):
#request being the ID entered from the form
figures_list = Figure.objects.filter(id=request)
context = {"figures_list":figures_list}
return render(request,"app1/data_from_DB.html",context)
Так, как написана ваша форма, вы могли бы получить доступ к идентификатору фигуры в представлении с помощью:
request.GET["figure_id"]
Если бы в вашей форме было method="POST"
вместо GET
:
request.POST["figure_id"]
Во-первых, обновите сниппет html кода, чтобы исправить атрибут формы "metohd" на "method" .
Вы отправляете данные через GET-запрос. Поэтому вы можете получить доступ к ним через метод request.GET .
Фрагмент кода представления django.
def from_DB(request):
id = request.GET.get("figure_id")
figures_list = Figure.objects.filter(id=id)
context = {"figures_list":figures_list}
return render(request,"app1/data_from_DB.html",context)
Выполняет необходимую работу .