#django #python-3.x
#django #python-3.x
Вопрос:
В моем шаблоне есть форма, предназначенная для поиска.Я не создавал для него никакого класса формы. Возможно ли иметь доступ к данным формы в представлении или я должен создать для него класс формы.
<form class="navbar-form" role="search" action="{% url 'my_url_name' %}" method="get">
<div class="input-group add-on">
<input class="form-control" placeholder="search" name="srch-term" id="srch-term" type="text">
<div class="input-group-btn">
<button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
Я использую эту форму для ее стиля, и я не могу создать этот стиль с помощью класса Form
Комментарии:
1. Единственные вещи, которые вы настроили в этом поле формы, — это заполнитель и класс управления формой, оба из которых тривиальны для выполнения в классе Form.
2. Я этого не знал. Я постараюсь изучить формы глубже. но как насчет ответа
3. Вы можете найти данные формы в request.GET
Ответ №1:
Вы можете получить доступ к данным формы в request.GET
словаре (или, request.POST
если это post-запрос) в вашем представлении. Например:
srch_term = request.GET.get('srch-term')
Ответ №2:
Вы можете использовать объект QueryDict, который вы получаете с запросом :
def myview(request):
if request.method == "POST":
data = request.POST
print(data['foo']) # <--Will print the value I entered into my form.
[...]
Но будьте осторожны с этим: нет инструмента проверки, чтобы убедиться, что данные, которые вы получаете, правильно сформированы.