django 高级
1.使用form:
django的form提供了统一的结构化的后台验证机制,错误信息,也容易展现在前台界面上。由于python的面向对象,使得编写html也能够代码复用。
a.多个field 综合验证,需要重写clean 程序
def clean(self):
"""Checks that no two articles have the same title."""
if any(self.errors):
# Don’t bother validating the formset unless each form is valid on its own
return
titles = []
for form in self.forms:
title = form.cleaned_data[’title’]
if title in titles:
raise forms.ValidationError("Articles in a set must have distinct titles.")
titles.append(title)
b.template中form 的要素:
form :
{{form.as_p}}, {{form.as_table}} ,{{form.as_url}}
{{form.hidden_fields}} 隐藏的字段
{{form.visible_fields}} 显示的字段
{{form.media}}: 样式与js定义文件
{{form.non_field_errors}}:非字段相关的错误
字段 a:{{form.a}}
字段样式定制,在python中:这种方式适合继承,比如有好几个页面都需要使用该form,这种方式适合。
domain_name=forms.CharField(widget=TextInput(attrs={"class":"form-control","size":"","placeholder":"输入您要加速的域名。如:image.a.com"}))
或者在html中
<input class="form-control" size="16" name="{{ form.domain_name.html_name }}" type="text" value="" placeholder="输入您要加速的域名。如:image.a.com">
字段的属性
{{form.a.label}} 标签名字
{{form.a.label_tag}} 标签的html tag形式
{{form.a.value}} 值
{{form.a.html_name}} input 的name
{{form.a.help_text}} input 的帮助
{{form.a.errors}} input 的错误
{{form.a.is_hidden}} input 是否隐藏
{{form.a.field}} a字段的各个属性字典
2.widget:定制化form的字段的表现形式。
class CalendarWidget(forms.TextInput):
class Media:
css = {
’all’: (’pretty.css’,)
}
js = (’animations.js’, ’actions.js’) class CalendarWidget(forms.TextInput):
def _media(self):
return forms.Media(css={’all’: (’pretty.css’,)},js=(’animations.js’, ’actions.js’))
media = property(_media)
django 高级的更多相关文章
- Django高级部分
Django高级部分 1.上传图片: 当Django在处理文件上传的时候,文件数据被保存在request.FILES,FILES中的每个键为<input type="file" ...
- Django高级实战 开发企业级问答网站完整
资源获取链接点击这里 Django高级实战 开发企业级问答网站 从实际需求分析开始,实现当今主流知识问答应用的功能,包括动态.文章.问答.私信.消息通知.搜索.个人中心,打造企业级知识问答网站,由此全 ...
- django高级应用(分页功能)
django高级应用(分页功能) 1.原生分页应用 前端html代码 <!DOCTYPE html> <html lang="en"> <head&g ...
- Django高级实战 开发企业级问答网站 ✌✌
Django高级实战 开发企业级问答网站 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 从实际需求分析开始,实现当今主流知识问答应用的功能,包括动态.文章.问 ...
- Django高级实战 开发企业级问答网站✍✍✍
Django高级实战 开发企业级问答网站 1. 创建项目与app 创建项目 django-admin startproject firstsite 创建app python manage.py sta ...
- Django高级实战 开发企业级问答网站
Django高级实战 开发企业级问答网站 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的 ...
- [Django高级之批量插入数据、分页器组件]
[Django高级之批量插入数据.分页器组件] 批量插入数据 模板层models.py from django.db import models class Books(models.Model): ...
- [Django高级之forms组件]
[Django高级之forms组件] forms组件之校验字段 # 第一步:定义一个类,继承forms.Form # 第二步:在类中写字段,要校验的字段,字段属性就是校验规则 # 第三步:实例化得到一 ...
- [Django高级之中间件、csrf跨站请求伪造]
[Django高级之中间件.csrf跨站请求伪造] Django中间件 什么是中间件? Middleware is a framework of hooks into Django's request ...
- [Django高级之Auth模块]
[Django高级之Auth模块] auth模块 ←详情点击查看 1.Auth模块是什么 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统 ...
随机推荐
- 被弃用的php函数以及被那个代替
原文链接 http://blog.csdn.net/a11085013/article/details/8937848 下面列举了部分被弃用的函数: call_user_method ...
- Type mismatch in value from map: expected org.apache.hadoop.io.longWritable
hadoop 编译的程序的报错 执行了命令: hadoop fs -put HTTP_20130313143750.dat /date.dochadoop jar MyDataCount.jar co ...
- Linux将程序添加到服务的方法(通用)
一:咱们通过这篇文章来演示怎么将某个程序作为服务(就类似Windows服务可以开机自动启动),这里以tomcat为例,已经亲测过: 二:步骤(最好用root用户来做这种事情,切换root用户记得su ...
- 批量远程执行shell命令工具
使用示例(使用了默认用户root,和默认端口号22): ./mooon_ssh --h=192.168.4.1,192.168.4.2 -P=password -c='cat /etc/hosts' ...
- spring AbstractRoutingDataSource实现动态数据源切换
使用Spring 提供的 AbstractRoutingDataSource 实现 创建 AbstractRoutingDataSource 实现类,负责保存所有数据源与切换数据源策略:public ...
- yum 常用命令
yum是一个用于管理rpm包的后台程序,用python写成,可以非常方便的解决rpm的依赖关系.在建立好yum服务器后,yum客户端可以通过 http.ftp方式获得软件包,并使用方便的命令直接管理. ...
- Eclipse代码提示功能设置
1. 解决实例化时自动补全不必要的单词问题 2. 以MyEclipse 6.5重新配图 鉴 于网上的批评之声甚大,我只想说明我的想法:这样的增强代码提示,最终是用来辅助我们 ...
- Oracle EBS打补丁
http://hutianci.iteye.com/blog/1457287 l例子: 打 Patch# 11843100:R12.CAC.B 打PATCH之前先查询一下是否已经有了这个PATCH ...
- Android-fragment的替换-V4支持包
昨天写的这几篇博客,Android-fragment简介-fragment的简单使用,Activity-fragment-ListView展示,Android-fragment生命周期,Android ...
- 《Are your lights on?》读后感
楔子(看过某类小说的孩纸对此应该不陌生...): <你的灯亮着吗?>讲了些什么?它为我们总结了解决问题的一般方法?不,它只是建议我们遇到问题后应该怎么做(绝对不等于解决问题的方法).这些建 ...