Помните выбор радиокнопок в Django - PullRequest
1 голос
/ 21 апреля 2011

Без использования javascript, есть ли лучший способ запомнить выбор переключателя пользователя? Я чувствую, что у меня есть довольно наивный (?) Способ сделать это?

Как я могу переписать это, чтобы сделать его более сухим? usersegment parem возвращается на той же странице после отправки.

{% if usersegment == "non-paying" %}
<input type="radio" name="usersegment" value="non-paying" checked="yes"/> Non-paying Users <br />
<input type="radio" name="usersegment" value="paying" /> Paying Users <br />
<input type="radio" name="usersegment" value="all" /> All Users<br />
{% endif %}

{% if usersegment == "paying" %}
<input type="radio" name="usersegment" value="non-paying" /> Non-paying Users <br />
<input type="radio" name="usersegment" value="paying" checked="yes"/> Paying Users <br />
<input type="radio" name="usersegment" value="all" /> All Users<br />
{% endif %}

{% if usersegment == "all" or not usersegment %}
<input type="radio" name="usersegment" value="non-paying" checked="yes"/> Non-paying Users <br />
<input type="radio" name="usersegment" value="paying" /> Paying Users <br />
<input type="radio" name="usersegment" value="all" checked="yes"/> All Users<br />
{% endif %} 

1 Ответ

6 голосов
/ 21 апреля 2011

Как насчет этого:

<input type="radio" name="usersegment" value="non-paying" {% if usersegment == "non-paying" %}checked="checked"{% endif %}/> Non-paying Users <br />
<input type="radio" name="usersegment" value="paying" {% if usersegment == "paying" %}checked="checked"{% endif %}/> Paying Users <br />
<input type="radio" name="usersegment" value="all" {% if usersegment == "all" or not usersegment %}checked="checked"{% endif %}/> All Users<br />

Также рассмотрите возможность использования django форм . Тривиальные проблемы, подобные этим, решаются очень элегантно, вам даже не нужно об этом думать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...