Django:表单模板和同一页面上的对象列表
我正在尝试为具有以下行为的页面设置模板。最初,它将包含一个未填充的表单和某个模型的所有对象的列表。然后,用户可以在表单中输入信息,点击submit后,显示的模型列表将被过滤,以适当地反映提交的请求 我相信我已经正确地设置了所有这些的逻辑;这是此页面的视图:Django:表单模板和同一页面上的对象列表,django,django-models,django-forms,django-templates,Django,Django Models,Django Forms,Django Templates,我正在尝试为具有以下行为的页面设置模板。最初,它将包含一个未填充的表单和某个模型的所有对象的列表。然后,用户可以在表单中输入信息,点击submit后,显示的模型列表将被过滤,以适当地反映提交的请求 我相信我已经正确地设置了所有这些的逻辑;这是此页面的视图: def search(request): objs = Area.objects.all() if request.method == 'POST': form = AreaForm(request.PO
def search(request):
objs = Area.objects.all()
if request.method == 'POST':
form = AreaForm(request.POST)
if form.is_bound and form.is_valid():
# check if requested number of chairs/tables/etc
# is at most the amount present
# or skip if blank
def check(area, key, val):
attr_val = getattr(area, key)
attr_val is None or attr_val >= val
# filter out those objects which don't have the criteria
for key, val in form.cleaned_data.items:
objs = [area for area in objs if check(area, key, val)]
else:
form = AreaForm()
return render(request, 'SpotMe/search.html', {'form' : form, 'objs': objs})
所以现在我相信我只需要设置html模板。到目前为止,我得到的是:
<form action="" method="GET">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Send message" />
</form>
但我有点不知所措,不知如何前进。我将非常感谢任何帮助。谢谢大家! 如果您的obj包含正确的项,您只需添加如下内容
{% for obj in objs %}
<li>{{ obj }}</li>
{% endfor %}
关闭标签后