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自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统 ...
随机推荐
- AJAX初尝试——ACM/ICPC类比赛气球管理系统
很早之前做过一个,白板没界面,20秒暴力刷新,数据库每个team一个n列的对应n个题目的标记项,只能对单个比赛暴力把全部user_id导入单独的气球表(也就是cid=1000用这个表的话,cid100 ...
- Android教程:wifi热点问题
http://www.linuxidc.com/Linux/2012-05/60718.htm 现在很多移动设备都提供wifi hostpot功能,使用方便,也省下了原来无线路由器的成本.wifi和w ...
- 2018.06.29 洛谷P1505 [国家集训队]旅游(树链剖分)
旅游 题目描述 Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接.为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有 ...
- (并查集)How Many Tables -- HDU --1213
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1213 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- java 把InputStream流写入到文件中
基于流(Stream)的解决 流是单向的有方向性的描述信息流的对象,InputStream是输入流的接口,对程序来说是入,是读,可以从文件读,缓存区读,网络节点读等等. 写入文件,对程序来说是出,是写 ...
- Fig723.asy
import settings; outformat="pdf"; tex="xelatex"; usepackage("amsmath") ...
- SQL Server 2008 清空删除日志文件(瞬间日志变几M)
sql 在使用中每次查询都会生成日志,但是如果你长久不去清理,可能整个硬都堆满哦,笔者就遇到这样的情况,直接网站后台都进不去了.下面我们一起来学习一下如何清理这个日志吧 SQL2008清空删除日志: ...
- Tomcat监听443端口的方法
当我们需要更安全的访问网站的时候就会选择使用https协议,而https协议默认的端口号为443端口,这就是我们为什么向让Tomcat监听在443端口的原因,因为监控在非80端口和443端口的web服 ...
- linux系统编程之管道(一):匿名管道(pipe)
一,什么是管道 管道是Linux支持的最初Unix IPC形式之一,具有以下特点: 管道是半双工的,数据只能向一个方向流动:需要双方通信时,需要建立起两个管道: 只能用于父子进程或者兄弟进程之间(具有 ...
- VisualStudio神级插件Resharper的基本配置和使用技巧大全+Resharper性能优化
所谓工欲善其事,必先利其器.尽管visual studio本身已经非常强大,但优秀的插件仍然可以帮开发者大大提高效率. ReSharper是一款由jetbrain开发的针对C#,VB.NET,ASP. ...