在django模板中将str转换为int

时间:2018-01-10 22:49:11

标签: python django for-loop django-templates date-conversion

我需要将日期日转换为int以与模板中的其他值进行比较。

这样的事情:

views.py

def userEdit(request):
    userdata = user.objects.get(id=request.session['user_id'])
    dic.update({'userdata':userdata, 'dayrange': range(1,32)})
    return render(request, 'my_app/userEdit.html', dic)

程序my_app / userEdit.html

<select name="day">
  {% for i in dayrange %}
    {% if i == userdata.birth_date|date:"d" %}
      <option value="{{ i }}" selected>{{ i }}</option>
    {% else %}
      <option value="{{ i }}">{{ i }}</option>
    {% endif %}
  {% endfor %}
</select>

我需要将userdata.birth_date | date:“d”转换为int,然后与for循环中的“i”变量进行比较。请帮忙

2 个答案:

答案 0 :(得分:1)

你可以使用参数为0的add过滤器将其强制转换为整数,例如。

{% if i == userdata.birth_date|date:"d"|add:0 %}

答案 1 :(得分:0)

你试过了吗?

{% if i == userdata.birth_date.day %}
  <option value="{{ i }}" selected>{{ i }}</option>