0

ページに 2 番目のフォームを含めるために使用したいのです{% include %}が、フォームが空です。

ビュー.py:

def year_form(request):
    thing_list = Thing.objects.all()
    if request.method == 'POST':
        form = YearBrowseForm(request.POST)
        if form.is_valid():
            year = form.cleaned_data['year']
            return HttpResponseRedirect(reverse('browse_years', kwargs={'year':year}))
    else:
        form = YearBrowseForm()
    return render(request, 'browse-year.html', {'form':form, 'thing_list':thing_list})

フォーム.py:

class YearBrowseForm(forms.Form):
    year = forms.ChoiceField(choices=YEARS_EMPTY, widget=forms.Select(attrs={'onchange': 'this.form.submit();'}))

URL:

url(r'^browse/years/(?P<year>\d+)/$', 'my_app.views.browse.year_form', name='browse_years'),

html:

{% extends 'base.html' %}
{% block content %}
{% include 'browse-year.html' %}
{% endblock %}

ブラウズ年.html:

<form action='' method='post' enctype='multipart/form-data'>
  {{ form.as_p }}
  {% csrf_token %}
</form>

これは空のフォームをレンダリングします (つまり、ソースはフォームが含まれていることを示していますが、コンテンツは空です)。ここで何が欠けていますか?これは、を使用して別の方法で解決しようとしているこの質問の続きです{% include %}。アイデアをありがとう!

4

1 に答える 1