链接: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. Python实现七牛云视频播放

    这篇文章是使用Python的Web框架Django Rest Framework来提供视频相关的api接口,主要功能包括视频上传.视频转码.视频访问授权.删除视频文件.视频截图功能. 七牛云上的基本概 ...

  2. cf499B-Lecture 【map】

    http://codeforces.com/problemset/problem/499/B B. Lecture     You have a new professor of graph theo ...

  3. ubuntu server 12.04 jdk,ssh及hadoop配置

    我是在32位的系统下配置的,所以在下载安装文件时候要注意. 第一步:下载并配置JDK 1.下载jdk,这里下载的是jdk1.7.0_65版本的,命令如下 $ wget http://download. ...

  4. VM 监控信息布局

    <div ng-show="showVmChart"> <div class="row"> <div class="co ...

  5. 循环结构之for循环

    循环结构之for循环(一) 在很多编程语言中都有一种直接.简单的循环,它的一般形式为: 它的执行过程如下: 第一步:执行表达式1,对循环变量做初始化: 第二步:判断表达式2,若其值为真(非0),则执行 ...

  6. 最小生成树 prim

    1.算法思想: 图采用邻接矩阵存储,贪心找到目前情况下能连上的权值最小的边的另一端点,加入之,直到所有的顶点加入完毕. 2.算法实现步骤: 设图G =(V,E),其生成树的顶点集合为U. (1)把v0 ...

  7. jstack调试core文件

    摘自:https://stackoverflow.com/questions/37331266/jstack-throws-exception-interrogating-a-core // 错误示例 ...

  8. Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器

    关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务 ...

  9. windows server2012安装jdk时报错误代码1603

    解决方法:在控制面板中将其卸载,把jdk8换成jdk7就可以安装上了

  10. [GO]结构体成员的使用:指针变量

    package main import "fmt" func main() { type student struct { id int name string sex byte ...