链接:https://www.jianshu.com/p/46b2aa2d5a23

form.as_p

渲染表单为一系列的p标签,每个p标签包含一个字段:

<p>

   <label for="id_subject">Subject:</label>

   <input id="id_subject" type="text" name="subject" maxlength="100" />

</p>

form.as_ul

渲染表单为一系列的li标签,每个li 标签包含一个字段,它不包含ul标签:

<li>

  <label for="id_subject">Subject:</label>

  <input id="id_subject" type="text" name="subject" maxlength="100" />

</li>

form.as_table

输出表单为一个HTML的table:

<tr>

  <th>

   <label for="id_subject">Subject:</label>

  </th>

  <td>

    <input id="id_subject" type="text" name="subject" maxlength="100" />

  </td>

</tr>

for field in form

通过迭代form,获取其中的所有field。field可引用的包括{{ field.label_tag }} , {{ field }} , {{ field.errors }} :

 {% for field in form %}

  <div class="form-group">    

      {{ field.label_tag }}        

     <div class="">

        {{ field }}

     </div>

     {{ field.errors }}

  </div>

{% endfor %}

  • field.label_tag
    {{ field.label_tag }}输出为field的label元素:
    <label for="id_message">Message:</label>
  • field
    {{ field }}输出为field的input
    <input type="text" name="message"
    id="id_message" />
  • field.errors
    {{ field.errors }}field的errors元素(errors一般在form验证出错的时候显示)
    ['This field is required.']

form.fieldname

直接将form作为一个dict,引用其每一个field,比如
{{ form.title }} 引用form中的title这个field:

<div class="form-group">

   <label class="control-label">

       {{ form.title.label_tag }}   

   </label>

   <div class="">

       {{ form.title }}

   </div>

   {{ form.title.errors }}

</div>

这种方式一般用于form需要更加精准的样式的时候,逐个元素逐个元素的编排到html中。

form在模版中的渲 染方式的更多相关文章

  1. 程序中保存状态的方式之Cookies

    程序中保存状态的方式之 Cookies,之前写过一篇关于ViewState的.现在继续总结Cookies方式的 新建的测试页面login <%@ Page Language="C#&q ...

  2. 程序中保存状态的方式之ViewState

    程序中保存状态的方式有以下几种: 1.Application 2.Cookie 3.Session 4.ViewState:ViewState是保存状态的方式之一,ViewState实际就是一个Hid ...

  3. 表单提交中get和post方式的区别

    表单提交中get和post方式的区别有5点 1.get是从服务器上获取数据,post是向服务器传送数据. 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一 ...

  4. spring-mvc整合freemarker并在ftl模版中显示服务端校验的错误信息,JSR303或者JSR349

    写法有多种,应该可以任意组合,最重要的是要引入spring.ftl 1.Bean里面的就不再多写了,来个简单就可以了 @NotEmpty(message="用户密码码不可为空") ...

  5. Form 表单提交的几种方式

    简单的总结一下form表单提交的几种方式:1.最简单的方式 就用form的submit提交方式,这种提交方式是不需要回调函数的   这种方式最近到一个form提供action路径后台接受就可以< ...

  6. PHP uxf framework 在模版中加入url标签

    1. 确保不修改discuz代码: 2. 继承discuz template类,重载parse_template 方法:由于discuz在模版引擎这一块没有考虑扩展性,对标签的解析全部写在一个方法中, ...

  7. C++ 类模板三(类模版中的static关键字)

    //类模版中的static关键字 #include<iostream> using namespace std; /* 类模板本质上是c++编译器根据类型参数创建了不同的类, c++编译器 ...

  8. JavaWeb中五种转发方式(转)

    今天本来是想找一下在jsp中实现转发的方式的,无意中看到了一篇文章,然后稍微综合了把服务器端的转发也包括在内.   1. RequestDispatcher.forward() 是在服务器端起作用,当 ...

  9. 8. Smarty3:模版中的内置函数

    smarty3中对内置函数的修改比較大,加入了很多新的功能:变量声明.表达式,流程控制,函数.数组等.可是建议不要在模版中去使用过于复杂的逻辑,而是要尽量将一些程序设计逻辑写到PHP中,并在模版中採用 ...

随机推荐

  1. 实现把C语言编译成java字节码的编译器 一个将C语言编译成java字节码的实例

  2. 文件后缀与mime类型对应表

    //文档文件类型的 .ai application/postscript    .eps application/postscript    .exe application/octet-stream ...

  3. distributed lock manager (DLM)(分布式管理锁)

    A distributed lock manager (DLM) provides distributed software applications with a means to synchron ...

  4. p4475 巧克力王国

    传送门 分析 我们多维护一个值,代表某个点子树中所有点的权值和 于是如果某个点它的min和max乘a(/b)的值小于范围则直接把整个子树都加进去 估价函数就是这个点的子树中的理论最小值 代码 #inc ...

  5. Java 前台后台数据传递、中文乱码解决方法

    1.向前台传递数据;2.向后台传递数据;3.ajax post 提交数据到服务端时中文乱码解决方法;4.数组类型参数传递; 1.向前台传递数据:1.1 字符串数据传递:  这种方式只是单一的向前台传递 ...

  6. Sql的行列转换

    创建表scores 一.传统的行列转换 纵表转横表 我们要转成的横表是这样子的: pivot是sql server 2005 提供的运算符,所以只要数据库在05版本以上的都可以使用.主要用于行和列的转 ...

  7. eclipse插件svn图标详细含义

    链接:http://pan.baidu.com/s/1qYSFfTq 密码:ez8p

  8. jQuary总结11:jQuery插件封装---jQuery封装 手风琴 动画插件

    完整代码下载点击我的GitHub: https://github.com/XingJYGo/jquery-accordion 1 手风琴的效果展示如下: 2 封装插件目录结构如下: 主要包括:HTML ...

  9. jQuary总结6:元素的操作

    1 empty方法 //html <div> <p></p> <span></span> </div> //js $('div) ...

  10. php 用csv文件导出大量数据初方案

    背景:接手的项目中支持导出一批数据,全数量在50W左右.在接手的时候看代码是直接一次查询MySQL获得数据,然后用header函数直接写入csv,用户开始导出则自动下载.但是,在全导出的时候,功能出现 ...