теги Django и кнопки HTML - PullRequest
       2

теги Django и кнопки HTML

1 голос
/ 06 сентября 2011

в моем base.html у меня есть

blabla
{% ifequal alterprofile no %} 
    {% include 'registration/submittedprofile.html' %}
{% else %}
    {% include 'registration/submittedprofile2.html' %}
{% endifnotequal %}
blabla

ОК, теперь в представлениях у меня есть alterprofile = "no".Как я могу изменить alterprofile на да.Это мой представленный профиль

<form action="" method="get">
blablabla
<input type="submit" value="Make Changes">
</form>

, и это мои взгляды

def userprofile(request):
    alterprofile = "no"
    username = request.user 
    return render_to_response('registration/userprofile.html', {'user': username, 'alterprofile' = alterprofile})

есть кто-нибудь, кто может кодировать ответы для меня.Я пытался играть с предыдущими ответами, но безрезультатно.

Ответы [ 3 ]

1 голос
/ 06 сентября 2011

Вы можете использовать аргументы URL, такие как:

/ myurl /

/ myurl /? Show2

, тогда в вашем views.py вы можете использовать request.POST ['show2'], чтобы проверить, существует ли, и затем снова отправить переменную в представление для проверки с вашими {if} s

В качестве примечания, либо вы не понимаете основной поток запросов с веб-приложениями, либоВы не объясняете должным образом, что вы имеете в виду под «кнопкой HTML», поэтому вы не владеете языком HTML.Извините, если моя интуиция суровая или неправильная.

1 голос
/ 06 сентября 2011

Переменные Django отображаются со стороны сервера, поэтому вы не можете изменить переменную после ее передачи в шаблон. То, чего вы хотите достичь, выполняется с помощью сценариев внешнего интерфейса.

В этом случае вы передадите обе переменные в шаблон django, сохраните их в своем Javascript, а затем переключите их после того, как нажали упомянутую кнопку (с помощью обработки события onClick).

0 голосов
/ 06 сентября 2011

не совсем понятно, о чем вы спрашиваете, но вот как заставить логику работать так, как я думаю, вы хотите, основываясь на представленном вами коде:

в вашем шаблоне измените его на ifequal alterprofile "no" включить registration/submittedprofile.html.

Когда вы изменяете представление на alterprofile = "yes", вместо него включается registration/submittedprofile2.html, если вы сохраняете логику текущего шаблона.

Это потому, что, по вашему мнению, alterprofile назначается строка, поэтому она всегда является строкой. Когда вы пытались проверить no вместо "no", django искал переменную с именем no, которая не существует.

Это означает, что при каждом запуске он всегда включал бы registration/submittedprofile2.html

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