I am building a search form that provides a drop down list, and then on the
search results, I am redisplaying the search form, but with the search
parameters already pre-selected, so this is what I attempted to do:
<select name="system">
{% for item in object_list %}
<option value="{{ item.id }}" {% if item.id == request.GET.system
%} selected="selected" {% endif %}>
{{ item.name }}
</option>
{% endfor %}
</select>
Unfortunately, this did not work. When I did some testing, I realized that
item.id is giving back an int, while request.GET.system is giving back a
string. If I used the view to change the GET value to an int in the
context, then the comparison works.
What I am wondering is, is this expected behavior? Does the request object
always return a string, and that I am better off writing my own custom tag
to convert request objects into int for comparison? What is the best
practice to employ here? I am fairly new to django and could use some
pointers.
Thanks,
Jack
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.