在某些情况下,我不希望在视图中返回任何HTML。除了返回一个空白的html文件之外,有没有什么好的方法呢?
以下是我目前拥有的:
views.py
def get_suites(request):
address = request.GET.get('address')
rental_units = Rental_Unit.objects.filter(address__address=address).order_by('suite')
# return empty html requests
if len(rental_units) > 1:
return render(request, 'suite_list.html', {'rental_units': rental_units})
else:
return render(request, 'empty.html')
suite_list.html
<label for="suite">Suite</label>
<select name="suite" id="suite">
<option value="all">All</option>
{% for rental_unit in rental_units %}
<option value="{{rental_unit.suite}}">{{rental_unit.suite}}</option>
{% endfor %}
</select>
main.html
<label for="address">Address</label>
<select name="address" id="address" hx-get="/get_suites" hx-target="#suite-wrapper">
<option value="all">All</option>
{% for address in addresses %}
<option value="{{address}}">{{address}}</option>
{% endfor %}
</select>
<div id="suite-wrapper" style="display:inline"></div>
1条答案
按热度按时间30byixjq1#
你可以只返回一个空的httpresponse对象,完全避免使用render函数。
这是render方法在结合上下文和模板创建HTML后返回的内容,因此通过简单地返回不带HTML的httpresponse,您可以避免查找不存在的内容(即空模板)