我正在尝试找到一种动态设置默认表单值的方法。因此,例如,如果我在我的网页上添加了facebook登录功能,并且我可以从facebook javascript返回的内容中获取他的名字和姓氏,我希望能够将这些值设置为新的“值”参数。给定的形式。 (基本上我可以把用户放在我的数据库中) 我希望有某种
{{ form.firstname.default = Javascript.return.firstname }}
我可以插入模板但是没有...... 有任何想法吗?谢谢。
编辑;;也许最好先将信息传递到views.py中?但是我该怎么做呢?我只是考虑在javascript字段中手写输入,这会很烦人......
答案 0 :(得分:0)
您可以设置模板变量的默认值:
{{ form.firstname|default:Javascript.return.firstname }}
假设{{Javascript.return.firstname}}在该模板上下文中有效。
答案 1 :(得分:0)
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);