社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

遍历字段时访问django表单的初始值

Chad • 6 年前 • 1857 次点击  

我正在尝试做一些非常简单的事情;当我传递了这样的初始值时,我想对django模板内的表单字段应用“隐藏”样式:

form = form_class(initial={'field':data})

通常情况下如下:

<li class="{{form.somefield.name}} {% if form.somefield.initial %} hidden{% endif %}>
    ...
</li>

但是我正在迭代表单,所以我想做的是如下所示:

{% for field in form %}
    <li class="{{field.name}} {% if field.initial %} hidden{% endif %}">
    ...
    </li>
{% endfor %}

但这不起作用,因为field.initial只有表单中字段的初始值,而不是表单创建时传入的数据。除了将迭代分解为单独的表单之外,还有一个很好的解决方案吗?

我想到的一些(坏的)解决方案:

  • 压倒一切 初始化 将值从self.initial填充为self.fields;
  • 编写名为%hideifhasInitial%的模板标记
  • 向表单中添加一个使用zip on self和self.initial的方法(不起作用,因为self.initial只有一个元素,self只有4个元素,它只迭代了1个元素,键(字段名)不匹配)。
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/31142
 
1857 次点击  
文章 [ 4 ]  |  最新文章 6 年前