带有 URL 参数的 Django 模板检查值
Posted
技术标签:
【中文标题】带有 URL 参数的 Django 模板检查值【英文标题】:Django template check value with URL parameter 【发布时间】:2019-12-07 15:24:24 【问题描述】:我正在尝试在 html 中创建一个选择来列出所有月份,并且选择的默认值应该等于 URL 中的月份参数
我的网址:
/list-working-session/?month=7&year=2019
月份和年份是参数
在我的 HTML 中:
<select name="month" class="form-control" id="month" required>
% for i in months %
% if i == request.GET.month %
<option value=" i " selected="selected"> i </option>
% else %
<option value=" i "> i </option>
% endif %
% endfor %
</select>
months 是具有范围(1,13)的视图的上下文,我设法在选择选项中列出了 1 到 12,但我无法使 IF 条件起作用,因此默认选择值等于网址。
任何帮助将不胜感激
【问题讨论】:
【参考方案1】:request.GET.month 是一个字符串,正在与一个整数进行比较。您必须将它们转换为常用类型才能获得所需的结果
请看Need to convert a string to int in a django template
【讨论】:
我明白为什么它不起作用。我通过在值 request.GET.month|add:"0" 之后使用添加过滤器进行了更改,它起作用了 您是否也尝试过使用 int(request.GET.month) 代替? int() 不能在模板中使用,我试了一下,得到错误无法解析剩余部分:'(request.GET.month)' from 'int(request.GET.month )'以上是关于带有 URL 参数的 Django 模板检查值的主要内容,如果未能解决你的问题,请参考以下文章