Передача 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)

Выполняет необходимую работу .

Вернуться на верх