【问题标题】:Django Form - Render Form changing hiddenInput Value in the templateDjango Form - 渲染表单在模板中更改 hiddenInput 值
【发布时间】:2014-07-12 12:59:04
【问题描述】:

在 forms.py 中定义 MyForm 并使用具有虚拟值的 HiddenInput 后​​,我​​想将我的数据库中的用户呈现为表单,并将用户名作为隐藏输入。

模板 Django:

{% for username,time in llistat_usuaris.items %}

{{ form.as_p }} # HOW CAN I SET {{USERNAME}} as hidden value ??

{% endfor %}    

【问题讨论】:

  • 初始化表单时为什么不给表单初始值?
  • 您不应该在模板中执行此操作,而应使用表单执行此操作。在您的情况下,甚至 FormSet 也很有用。
  • @OdifYltsaeb 我认为这是个坏主意,因为我不知道我有多少用户以及我必须在视图中呈现多少表单
  • @toabi 你能举个例子吗?
  • @user3584455 好吧,请参阅docs.djangoproject.com/en/1.6/topics/forms/formsets - 由于我不知道您到底想要实现什么以及您的数据是如何构建的,所以很难说什么是最好的。

标签: python django forms templates django-templates


【解决方案1】:

你在找这个吗?

{{ form.field.as_hidden }}

".as_hidden" 这会使任何表单字段对用户不可见,但您在帖子中收到的字段与其他人一样

我一般创建一个和普通字段一样的字段,并且在模板中添加“as_hidden”,所以django不会在浏览器中显示这个字段。

我建议你检查这个帖子:

Hidden Field in Django model

Django forms hidden model field

Django ModelForm to have a hidden input

但是如果你想得到发帖用户的用户名,比这更简单,你只需要访问request.user

【讨论】:

  • 我想要一种调用带有动态参数的视图的方法,参数是选择的用户名
  • 您到底想要做什么?您可以通过不同的方式传递参数:发布、获取、请求、会话、中间件......我的问题是我不明白您到底想要做什么
  • 你想要做的是改变模板中隐藏输入用户名的值?
猜你喜欢
  • 2013-10-10
  • 2014-12-09
  • 2012-02-25
  • 2022-07-22
  • 2020-04-25
  • 2016-08-23
  • 2018-05-20
  • 2018-11-05
  • 2018-11-25
相关资源
最近更新 更多