Как передать значения из HTML в Python - PullRequest
0 голосов
/ 28 мая 2019

У меня есть 4 кнопки на первой странице, которые выводят меня на другую страницу (все эти «кнопки» подключены к базе данных в mysql), и на этой второй странице у меня есть некоторые данные из таблиц mysql, которые я хочу отобразить в зависимости от того, что Я выбрал на первой странице. Сейчас я просто показываю все, что у меня есть, и я не знаю, как это изменить. Я искал решения, но ни один не помог.

views.py

def kategorie_list(request):

    obj = Kategorie.objects.all()
    context ={'obj': obj}
    return render(request, "kategorie/lista.html", context)

def uslugodawcy_list(request):

    obj = Uslugodawcy.objects.all()
    context ={'obj': obj}
    return render(request, "uslugodawcy/uslugodawcy_lista.html", context)

первая HTML-страница

{% for Kategorie in obj %}

     <p> <a class="btn btn-primary" href="/uslugodawcy"><button type="nw" style="height: 65px; width: 170px"> <font size="4">{{Kategorie.idkategorie}} . {{Kategorie.nazwakategorii}}</font> </button> </a> </p>

{% endfor %}

второй

{% for Uslugodawcy in obj %}

     <p> <a class="btn btn-primary" href="/promocje"><button type="nw" style="height: 65px; width: 170px"> <font size="4">{{Uslugodawcy.iduslugodawcy}} . {{Uslugodawcy.nazwa_uslugodawcy}} </font> </button> </a> </p>

{% endfor %}

1 Ответ

0 голосов
/ 28 мая 2019

Есть много подходов. В общих чертах:

  1. Введите ссылку в виде кнопки. . Если href равно http://djangoserver/url?foo=bar, тогда будет доступно request.GET['foo'] и равно "bar".

  2. Сделайте так, чтобы все кнопки относились к форме, которую вы отображаете и POSTing, чтобы все они выполняли SUBMIT, но имели разные значения, которые вы можете найти в request.POST. <button form="form-id" type="submit" ...>

  3. Используйте Javascript, чтобы вызвать нажатие кнопки, чтобы заполнить поля в форме (которые могут быть скрытыми полями, поэтому у пользователя нет другого способа их изменить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...