在django中动态设置默认表单值



我试图找到一种方法来动态设置默认的形式值。例如,如果我在我的网页上添加了facebook登录功能,并且我可以从facebook javascript返回的内容中获得他的名字和姓氏,我希望能够将这些值设置为给定表单中的新"value"参数。这样我就能把用户放到数据库中了我希望有什么

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

,我可以插入到模板中,但没有…什么好主意吗?谢谢你。

编辑;;也许最好先将信息传递到views.py中?但我该怎么做呢?我只是考虑在javascript字段中手写输入,这将是烦人的…

可以设置模板变量的默认值:

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

假设{{Javascript.return.firstname}}在该模板上下文中是有效的

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);

相关内容

  • 没有找到相关文章

最新更新