Я иду по правильному пути, пытаясь использовать HttpResponseRedirect, или есть лучшее решение?

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

index.html

<form action="#" method="post">
    <select id="drop1">
        <option disabled selected value> -- select value -- </option>
        {% for i in df %}
        <option value="{{ i }}">{{ i }}</option>
        {% endfor %}
    </select>
</form>

views.py

def index(request):
    if request.method == 'POST':
        selected_value = request.POST.get('drop1')
        print(selected_value)
    else:
        return render(request, 'index.html', {'df': df.designation_list})

При этом ничего не возвращается. Я видел, что нужно использовать <form></form> для получения html-значения, но не могу найти, что поместить в поле action=.

Можете ли вы увидеть, чего не хватает в моем коде?

Заранее спасибо

Атрибут action указывает, куда отправлять данные формы, когда форма отправлена.

В вашем случае, вы должны добавить url представления, которое будет передавать эти данные. Например:

<form action="{% url 'index' %}" method="post">
    <select id="drop1">
        <option disabled selected value> -- select value -- </option>
        {% for i in df %}
        <option value="{{ i }}">{{ i }}</option>
        {% endfor %}
    </select>
</form>

Примечание: Замените index именем, которое вы указали в шаблоне URL.

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