首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django 1.8 官方文档翻译: 3-4-3 使用基于类的视图处理表单

form_valid()的默认实现只是简单地重定向到success_url。 模型的表单 通用视图在于模型一起工作时会真正光芒四射。...如果给出queryset,则使用该查询集的模型。 模型表单提供一个form_valid() 的实现,它自动保存模型。如果你有特殊的需求,可以覆盖它;参见下面的例子。...你甚至不需要为CreateView 和UpdateView提供success_url —— 如果存在它们将使用模型对象的get_absolute_url()。...如果你想使用一个自定义的ModelForm(例如添加额外的验证),只需简单地在你的视图上设置form_class。...模型和request.user 为了跟踪使用CreateView 创建一个对象的用户,你可以使用一个自定义的ModelForm 来实现这点。

1.9K20

Django之model模型对象验证

模型对象的验证 验证一个模型涉及三个步骤: 验证模型的字段 —— Model.clean_fields() 验证模型的完整性 —— Model.clean() 验证模型的唯一性 —— Model.validate_unique...可选的exclude 参数用来提供一个可以从验证和清除中排除的字段名称的列表。ModelForm 使用这个参数来排除表单中没有出现的字段,使它们不需要验证,因为用户无法修正这些字段的错误。...如要实现模型自定义的验证,应该覆盖这个方法。 Model.clean() 应该用这个方法来提供自定义的模型验证,以及修改模型的属性。...例如,你可以使用它来给一个字段自动提供值,或者用于多个字段需要一起验证的情形: import datetime from django.core.exceptions import ValidationError...这个键用于整个模型出现的错误而不是一个特定字段出现的错误: from django.core.exceptions import ValidationError, NON_FIELD_ERRORS try

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django(59)验证和授权

    验证和授权概述 Django有一个内置的授权系统。他用来处理用户、分组、权限以及基于cookie的会话系统。Django的授权系统包括验证和授权两个部分。...验证是验证这个用户是否是他声称的人(比如用户名和密码验证,角色验证),授权是给与他相应的权限。Django内置的权限系统包括以下方面: 用户。 权限。 分组。 一个可以配置的密码哈希系统。...以下做一个简单列表: INSTALLED_APPS: django.contrib.auth:包含了一个核心授权框架,以及大部分的模型定义。...django.contrib.contenttypes:Content Type系统,可以用来关联模型和权限。 中间件: SessionMiddleware:用来管理session。...AuthenticationMiddleware:用来处理和当前session相关联的用户。

    37110

    django验证和授权概述

    Django有一个内置的授权系统。他用来处理用户、分组、权限以及基于cookie的会话系统。Django的授权系统包括验证和授权两个部分。...验证是验证这个用户是否是他声称的人(比如用户名和密码验证,角色验证),授权是给与他相应的权限。Django内置的权限系统包括以下方面:用户。权限。分组。一个可以配置的密码哈希系统。...以下做一个简单列表:INSTALLED_APPS:django.contrib.auth:包含了一个核心授权框架,以及大部分的模型定义。...django.contrib.contenttypes:Content Type系统,可以用来关联模型和权限。中间件:SessionMiddleware:用来管理session。...AuthenticationMiddleware:用来处理和当前session相关联的用户。

    30420

    django中ModelForm多表单组合的解决方案

    而django对表单的支持力度非常大,我们用不着在浏览器端的html文件里写大量代码,再到web端去匹配form里的id/name/value、验证规则,再与持久层数据库比较并做操作。...2、从模型创建表单 django对于MVC中的C与M间的映射是非常体贴的,集中体现中Model模型中(比如模型的权限与用户认证)。...3、通用视图 django.views.generic.ListView和django.views.generic.edit下的CreateView, UpdateView, DeleteView都是通用视图...#首先我们要获取到PrimeContractForm表单对应的模型,此时是不能save的,因为外键project和address对应的数据库记录还没有创建,所以commit传为False           ...由于python和django过于灵活,都将要求django的开发者们唯有更资深才能写出生产环境下的服务。

    3.4K20

    Django 教程 --- Django 模型

    此外,我们可以使用Django的管理面板来创建,更新,删除或检索模型的字段以及各种类似的操作。Django模型提供了简单性,一致性,版本控制和高级元数据处理。...使用Django模型 要使用Django模型,需要在其中运行一个项目和一个应用程序。启动应用程序后,可以在app / models.py中创建模型。...Django模型中的内置字段验证是所有Django字段预定义的默认验证。...每个字段都带有来自Django验证程序的内置验证。例如,IntegerField带有内置验证,该验证只能存储整数值,并且也可以存储特定范围内的值。...基本模型数据类型和字段列表 模型的最重要部分和模型唯一需要的部分是它定义的数据库字段的列表。字段由类属性指定。这是Django中使用的所有Field类型的列表。

    2.1K10

    Django内置的通用类视图及实例

    方法: get_success_url():决定在表单成功验证后重定向到的URL,默认返回success_url. form_valid(form):在表单验证成功后调用该方法(注意并没有对数据进行操作...,并重定向到get_success_url(),可以覆盖该方法在以上行为之间添加额外的动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充的表单数据和错误信息重新渲染上下文...显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类)....----- 我们有了Project和Schedule列表显示后,现在需要添加新增和修改的操作。...可以直接用Django通用视图里的UpdateView和CreateView。

    2.9K40

    Django—模型

    定义属性 Django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django会为表创建自动增长的主键列...对比:null是数据库范畴的概念,blank是表单验证范畴的。 db_column:字段的名称,如果未指定,则使用属性的名称。...hero.hbook 通过模型类执行关联查询- 由多模型类条件查询一模型类数据: 语法如下: 关联模型类名小写__属性名__条件运算符=值   如果没有"__运算符"部分,表示等于,结果和sql中的inner...当没有为模型类定义管理器时,Django会为每一个模型类生成一个名为objects的管理器,自定义管理器后,Django不再生成默认管理器objects。...books = models.Manager()  管理器Manager   管理器是Django的模型进行数据库操作的接口,Django应用的每个模型类都拥有至少一个管理器。

    6.1K21

    Django模型

    Django模型 Django的模型定义在models.py文件中。模型是MVT中的M,也相当于MVC中的M。 在Django中,模型必须继承自Model类。...,Django默认以小写app应用名_小写模型类名为数据库表名,一般我们会通过db_table指明数据库表名。...django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...该参数是从一系列的二元组中提供选项 注意 CharField字段必须要指定参数max_length 还可以为字段指定参数verbose_name,这个参数主要是用来在admin管理页面使用,其实是和本地化有关的...下面是另外一个模型,和前面的BookInfo模型通过外键关联起来。

    1.9K20

    django 用表单验证数据

    常用验证器:在验证某个字段的时候,可以传递一个validators参数用来指定验证器,进一步对数据进行过滤。验证器有很多,但是很多验证器我们其实已经通过这个Field或者一些参数就可以指定了。...以下是一些常用的验证器:MaxValueValidator:验证最大值。MinValueValidator:验证最小值。MinLengthValidator:验证最小长度。...MaxLengthValidator:验证最大长度。EmailValidator:验证是否是邮箱格式。URLValidator:验证是否是URL格式。...自定义验证:有时候对一个字段验证,不是一个长度,一个正则表达式能够写清楚的,还需要一些其他复杂的逻辑,那么我们可以对某个字段,进行自定义的验证。...对某个字段进行自定义的验证方式是,定义一个方法,这个方法的名字定义规则是:clean_fieldname。如果验证失败,那么就抛出一个验证错误。

    61820

    Django 验证码4.4

    验证码 在用户注册、登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻一些服务器的压力 使用验证码也是一种有效的防止crsf的方法 验证码效果如下图: 验证码视图...表示画布对象 ImageDraw表示画笔对象 ImageFont表示字体对象,ubuntu的字体路径为“/usr/share/fonts/truetype/freefont” 代码如下: from django.http...1" alt="CheckCode"/> 看不清,换一个 为了能够实现提交功能,需要增加form和input标签 <form method...接收请求的信息,与session中的内容对比 from django.http import HttpResponse def verifycodeValid(request): vc =...url urlpatterns = [ url(r'^verifycodeValid/$', views.verifycodeValid), ] 第三方 可以在网上搜索“验证码”,找到一些第三方验证码提供网站

    51430

    Django实现验证码

    Django实现验证码 背景知识 1. 验证码的作用 防恶意破解密码:防止,使用程序或机器人恶意去试密码.为了提高用户的体验,用户输入错误以后,才会要求输入验证码. 防论坛灌水:这个是很常见的。...验证码的原理 验证码于服务器端生成,发送给客户端,并以图像格式显示。客户端提交所显示的验证码,客户端接收并进行比较,若比对失败则不能实现登录或注册,反之成功后跳转相应界面。 ?...[self.session_key] = str(answer) def _yield_code(self): """ 生成验证码数字,以及答案 """ # 数字公式验证码...,就会清空 self.django_request.session[self.session_key] = '' # 使用 PIL创建画布 im = Image.new('RGB...(self.session_key) or '' self.django_request.session[self.session_key] = '' return _code.lower

    1.6K110

    django滑动验证码

    一、概述 最近用django写了一个后台系统,使用的是验证码方式。但是开发人员抱怨,输入验证太麻烦,还有可能出错,太影响效率了。 是否可以用滑动验证码,一拖动就可以了!...我在网上找了一款免费的jquery插件,链接如下: http://www.htmleaf.com/jQuery/Form/201711064813.html verify.js是一款功能强大的jquery验证码插件...verify.js可以实现普通的图形验证码,数字验证码,滑动验证码和点选验证码等多种验证码功能。...演示地址: http://www.htmleaf.com/Demo/201711064814.html 二、django项目演示 完整代码 上面的链接,已经介绍了verify.js如何使用。...这里就不重复介绍了,我用django写了一个demo,github地址如下: https://github.com/py3study/verify_demo 代码说明 verify.js 我将verify.js

    2.1K41

    Django 模型中自定义Manager和模型方法

    每个Django模型至少有一个manager,你可以创建自定义manager以定制数据库的访问....由于get_queryset()返回一个Queryset对象,所以你可以使用filter(),exclude()和其他所有的Queryset方法....Django将会把第一个Manager 定义为默认Manager ,Django的许多部分(但是不包括admin应用)将会明确地为模型使用这个manager。...还有一组模型方法了封装了一些你可能想要自定义的数据库行为.特别是你可能想要修改save()和delete()的工作方式.你可以自由的重写这些方法(以及其他的模型方法)来改变行为.重写内置方法的经典用例就是你想要在保存一个对象是做些其他的什么...Model.clean() 应用这个方法来提供自定义的模型验证,以及修改模型的属性.例如,你可以使用它来给一个字段自动提供值,或者用于多个字段需要一起验证的情形: import detetime from

    2.8K20
    领券