Динамически установить значения формы по умолчанию в Django - PullRequest
2 голосов
/ 25 августа 2011

Я пытаюсь найти способ динамически устанавливать значения формы по умолчанию. Так, например, если я добавлю функцию входа в Facebook на своей веб-странице и смогу узнать его имя и фамилию из того, что возвращает javascript, я хочу установить эти значения в качестве нового параметра «значение» в данная форма. (в основном, поэтому я могу поместить пользователя в свою базу данных) Я надеялся, что есть какая-то

{{ form.firstname.default = Javascript.return.firstname }}

, который я могу вставить в шаблон, но его нет ... Есть идеи? Спасибо.

Редактировать ;; Может быть, было бы лучше сначала передать информацию в views.py? Но как бы я это сделал? Я просто рассматриваю возможность записи входных данных в поле javascript, что будет раздражать ...

Ответы [ 2 ]

0 голосов
/ 25 августа 2011

Код, сгенерированный Django, полностью на стороне сервера, его шаблоны не могут использовать ничего, что недоступно при загрузке страницы. Вам нужно использовать JavaScript, чтобы установить значение.

Например, если ваша форма выглядит так:

<form id="login">
 <input name="firstname" />
</form>

Вы можете использовать этот javascript (при условии, что вы используете jQuery):

// Do the facebook login, set the var fname to the first name, then:
$('#login [name=firstname]').val(fname);
0 голосов
/ 25 августа 2011

Можно установить значение по умолчанию для переменной шаблона:

{{ form.firstname|default:Javascript.return.firstname }}

при условии, что {{Javascript.return.firstname}} является допустимым в контексте этого шаблона.

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