我遇到一种情况,想在页面中创建搜索。我想创建不与原始页面混合的搜索,因为我需要在多个页面中使用相同的搜索。我在模板文件夹的div中创建了搜索表,并将其命名为MySearch.html。现在,我将其作为{%include'MySearch.html'%}包含在主页中,它可以为我提供静态文本的下拉列表,但不包含我要填充查询集的选项。
在urls.py-
url(r'Search', myproj.type4.views.ShowSearch, name='Search'),
在ShowSearch()-
def ShowSearch(request):
countryqueryset = Type4Main.objects.all().values('country').distinct()
return render(request,'MySearch.html',{
'countryqueryset':countryqueryset,
})
在MySearch.html中-
<!DOCTYPE html>
<html lang="en">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<head>
<meta charset="UTF-8"/>
<title> My Search
</title>
</head>
<body>
<div id ="mysearch" name="mysearch">
<table id="mysearchtbl" name="mysearchtbl">
<tr>
<th>
Country
</th>
</tr>
<tr>
<td>
<select id="country">
<option value="0">Select</option>
{% for country in countryqueryset %}
<option value="{{country.country}}">{{country.country}}</option>
{% endfor %}
</select>
</td>
</tr>
</table>
</div>
</body>
</html>
我只能在与主页合并时看到“选择为选项”。我在做什么错了?
答案 0 :(得分:0)
视图呈现模板,而不是相反:模板不调用视图。如果您不是通过ShowSearch URL查看页面,则该视图中的数据将不会传递到模板。
对于无论视图如何都需要包含在每个页面中的数据,请使用自定义模板标记。