【问题标题】:Django Include Not Including ContentDjango包含不包含内容
【发布时间】:2013-07-08 18:05:33
【问题描述】:

我想使用{% include %} 在页面上包含第二个表单,但该表单是空的..

views.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})

forms.py:

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

网址:

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>

这会呈现一个空表单(即源显示正在包含一个表单,但它没有内容)。我在这里想念什么?这是this question 的延续,我正在尝试使用{% include %} 以不同的方法解决它。感谢您的想法!

【问题讨论】:

  • 你的base.html{% block content %}吗?
  • 谢谢@karthikr。是的,我的base.html{% block content %}。还有什么我可能在这里遗漏的吗?感谢您的想法
  • 如果你将browse-year.html的上下文内联在browse.html中,它会起作用吗?
  • 嗯,其实并不奇怪。当我在视图中同时使用所有三种表单时,该表单出现在之前,就像我在帖子底部链接的另一个问题一样。我没有更改表单或其他任何内容,只是尝试设置不同的视图(如上所示)来处理表单,因为我很难在一个视图中使用所有三个表单。感谢您的任何想法!
  • 你能把上下文传递给render方法看看吗?另外,生成的 HTML 是否有 &lt;form 节点?

标签: django forms templates tags include


【解决方案1】:

发生这种情况是因为您正在渲染browse-year.html

return render(request, 'browse-year.html', {'form':form, 'thing_list':thing_list})

您应该渲染另一个 html,即您没有给出名称但以

开头的那个
{% extends 'base.html' %}

只有通过渲染你扩展基础的那个,才会出现其他内容。

【讨论】:

  • 谢谢@J。 C.,我更改为return render(request, 'browse.html', {'form':form, 'thing_list':thing_list})(browse.html 是我的主要模板),但我仍然得到一个空表单。还有什么我可能会错过的吗?
猜你喜欢
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-15
  • 1970-01-01
  • 2015-08-07
相关资源
最近更新 更多