#django #forms
#django #формы
Вопрос:
Вот моя форма
Class SearchForm(forms.Form):
pub_from = forms.CharField(max_length=20)
pub_to = forms.CharField(max_length=20)
и мой SearchView
def SearchView(request):
if request.method == 'POST':
form = SearchForm(request.POST)
if form.is_valid():
pub_date_from = form.cleaned_data['pub_date_from']
pub_date_to = form.cleaned_data['pub_date_to']
#form.save()
return HttpResponseRedirect("/admin/")
else:
return render_to_response("search_form.html", {"form":form}, context_instance=RequestContext(request))
else:
form = SearchForm()
context = {"form":form}
return render_to_response("search_form.html", context, context_instance=RequestContext(request))
и мой search_form.html есть
<form action="" method="get">{% csrf_token %}
{{ form }}
<input type="submit" value="submit">
Когда я визуализирую форму отдельно, она показывает поле формы, и теперь, когда я наследую ее другому шаблону, при category.html
выполнении {% include "search_form.html" %}
отображается только кнопка отправки, а не поле формы.
Я не знаю, что я делаю не так.
Комментарии:
1. Вы также должны передать
form
контекст запроса для этого представления2. Можете ли вы опубликовать код представления для category.html ?
3. Если вы включаете шаблон в представление, которое не включает форму, это может не сработать. Представления отображают шаблоны, шаблоны не вызывают представления.
4. Как я должен тогда получить форму
5. Отправьте его из любого представления, отображающего страницу, на которую вы включаете шаблон.
Ответ №1:
- Что это????
<form action="" method="get">
метод формы — это POST!
- Это использовалось нашими предками, бросающими камни:
<input type="submit" value="submit">
Теперь мы используем button
вместо input