在Django的form中使用CSS进行设计的方法


Posted in Python onJuly 18, 2015

修改form的显示的最快捷的方式是使用CSS。 尤其是错误列表,可以增强视觉效果。自动生成的错误列表精确的使用`` <ul class=”errorlist”>``,这样,我们就可以针对它们使用CSS。 下面的CSS让错误更加醒目了:

<style type="text/css">
  ul.errorlist {
    margin: 0;
    padding: 0;
  }
  .errorlist li {
    background-color: red;
    color: white;
    display: block;
    font-size: 10px;
    margin: 0 0 3px;
    padding: 4px 5px;
  }
</style>

虽然,自动生成HTML是很方便的,但是在某些时候,你会想覆盖默认的显示。 {{form.as_table}}和其它的方法在开发的时候是一个快捷的方式,form的显示方式也可以在form中被方便地重写。

每一个字段部件(<input type=”text”>, <select>, <textarea>, 或者类似)都可以通过访问{{form.字段名}}进行单独的渲染。

<html>
<head>
  <title>Contact us</title>
</head>
<body>
  <h1>Contact us</h1>

  {% if form.errors %}
    <p style="color: red;">
      Please correct the error{{ form.errors|pluralize }} below.
    </p>
  {% endif %}

  <form action="" method="post">
    <div class="field">
      {{ form.subject.errors }}
      <label for="id_subject">Subject:</label>
      {{ form.subject }}
    </div>
    <div class="field">
      {{ form.email.errors }}
      <label for="id_email">Your e-mail address:</label>
      {{ form.email }}
    </div>
    <div class="field">
      {{ form.message.errors }}
      <label for="id_message">Message:</label>
      {{ form.message }}
    </div>
    <input type="submit" value="Submit">
  </form>
</body>
</html>

{{ form.message.errors }} 会在 <ul class="errorlist"> 里面显示,如果字段是合法的,或者form没有被绑定,就显示一个空字符串。 我们还可以把 form.message.errors 当作一个布尔值或者当它是list在上面做迭代, 例如:

<div class="field{% if form.message.errors %} errors{% endif %}">
  {% if form.message.errors %}
    <ul>
    {% for error in form.message.errors %}
      <li><strong>{{ error }}</strong></li>
    {% endfor %}
    </ul>
  {% endif %}
  <label for="id_message">Message:</label>
  {{ form.message }}
</div>

在校验失败的情况下, 这段代码会在包含错误字段的div的class属性中增加一个”errors”,在一个有序列表中显示错误信息。

Python 相关文章推荐
在Python3中初学者应会的一些基本的提升效率的小技巧
Mar 31 Python
Java多线程编程中ThreadLocal类的用法及深入
Jun 21 Python
pycharm远程调试openstack的图文教程
Nov 21 Python
对python中执行DOS命令的3种方法总结
May 12 Python
浅谈dataframe中更改列属性的方法
Jul 10 Python
通过python顺序修改文件名字的方法
Jul 11 Python
打包python 加icon 去掉cmd黑窗口方法
Jun 24 Python
python Kmeans算法原理深入解析
Aug 23 Python
python zip,lambda,map函数代码实例
Apr 04 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
详解Pycharm第三方库的安装及使用方法
Dec 29 Python
python常见的占位符总结及用法
Jul 02 Python
在Django的视图中使用form对象的方法
Jul 18 #Python
详解Django中的form库的使用
Jul 18 #Python
在Django框架中编写Contact表单的教程
Jul 17 #Python
简单解析Django框架中的表单验证
Jul 17 #Python
改进Django中的表单的简单方法
Jul 17 #Python
Python的Django框架中的表单处理示例
Jul 17 #Python
Python中max函数用法实例分析
Jul 17 #Python
You might like
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
《雄兵连》《烈阳天道》真的来了
2020/07/13 国漫
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
Prototype ObjectRange对象学习
2009/07/19 Javascript
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
2014/05/12 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python编程实现使用线性回归预测数据
2017/12/07 Python
Python列表list排列组合操作示例
2018/12/18 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
详解用python自制微信机器人,定时发送天气预报
2019/03/25 Python
Python类反射机制使用实例解析
2019/12/30 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
python实现canny边缘检测
2020/09/14 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
美国老牌主机服务商:iPage
2016/07/22 全球购物
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
小学学雷锋活动总结
2014/04/25 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
爱心捐款活动总结
2015/05/09 职场文书