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

Django教程(二)- Django视图与网址进阶1. HTML表单2.CSRF3.代码操作

表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。...type="checkbox"> 定义了复选框....在返回的 HTTP 响应的 cookie 里,django 会为你添加一个 csrftoken 字段,其值为一个自动生成的 token 在所有的 POST 表单时,必须包含一个 csrfmiddlewaretoken...字段 (只需要在模板里加一个 tag, django 就会自动帮你生成,见下面) 在处理 POST 请求之前,django 会验证这个请求的 cookie 里的 csrftoken 字段的值和提交的表单里的...12345,则显示登录成功,否则登录失败 1.创建app:python manage.py startapp login 2.在app中创建templates文件夹,并简单写三个网页,分别是登陆页面

4.3K40

django 1.8 官方文档翻译:5-1-4 内建的Widget

表单字段负责验证输入并直接在模板中使用。Widget 负责渲染网页上HTML 表单的输入元素和提取提交的原始数据。但是,Widget 需要赋值给表单的字段。...在处理表单数据的过程中,value_from_datadict 可能调用多次,所以如果你自定义并添加额外的耗时处理时,你应该自己实现一些缓存机制。...这个方法从POST 字典中获取数据,并且构造和验证日期。如果日期有效,会返回它的字符串,否则会返回一个空字符串,它会使form.is_valid返回False。....> 接收一个可选的参数: render_value 决定在验证错误后重新显示表单时,Widget 是否填充(默认为False)。...check_test 一个可调用的对象,接收CheckboxInput 的值并如果复选框应该勾上返回True。

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

    Django 学习笔记之表单

    表单允许用户将数据发送到 Web 站点。 但在大多数情况下,Forms 携带的数据发送到 Web 服务器,Web 页面会将其拦截并自己使用它。...举个栗子,用户使用浏览器访问一个页面,在页面的搜索框中输入图书的名称,想获取所有销售该图书的商店。Web 站点需要获取图书名称的信息作为数据库查询条件,所以将数据拦截并获取图书的名称。...表单中会根据页面显示需求,采用不同的表单元素来呈现,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等 它可能长得这个样子 表单使用标签...q=monkey 3 Django Form 3.1 功能 Django 的表单针对 HTML 表单实现了一层封装,这使得 Django 的 Form 表单功能更加强大。...它具有以下功能: 1)自动生成HTML表单元素 2)检查表单数据的合法性 3)如果验证错误,重新显示表单(数据不会重置) 4)数据类型转换(字符类型的数据转换成相应的Python类型) 3.2 Form

    2.6K30

    django 1.8 官方文档翻译: 5-1-1 使用表单

    某些表单的元素 —— 文本输入和复选框 —— 非常简单而且内建于HTML 本身。...考虑一下Django 的Admin 站点,不同类型的大量数据项需要在一个表单中准备好、渲染成HTML、使用一个方便的界面编辑、返回给服务器、验证并清除,然后保存或者向后继续处理。...Django 的表单功能可以简化并自动化大部分这些工作,而且还可以比大部分程序员自己所编写的代码更安全。...它还意味着当Django 收到浏览器发送过来的表单时,它将验证数据的长度。 Form 的实例具有一个is_valid() 方法,它为所有的字段运行验证的程序。...默认情况下,浏览器可能会对这些字段进行它们自身的验证,这些验证可能比Django 的验证更严格。

    4.3K20

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

    ,各种有用的对象被存储在self上,同request(self.request)一样,其中包含了从URLconf中获取到的位置参数(self.args)和关键字参数(self.kwargs)....显示表单的视图,验证错误时,重新显示表单并显示错误信息;成功时,重定向到一个新的URL....方法: get_success_url():决定在表单成功验证后重定向到的URL,默认返回success_url. form_valid(form):在表单验证成功后调用该方法(注意并没有对数据进行操作...显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类)....显示确认页面并删除现有对象的视图.仅当请求方法为POST时,才会删除给定的内容.如果此视图是通过GET提取的,它将显示一个确认页面,其中包含POST到同一网址的表单.

    2.9K40

    Django Form的使用

    最近在项目上用到了 Django 的自带的 Form 表单,遇到了一些坑,这里做一个简单的总结,大家可以对号出坑。...Form 基础介绍 首先让我们先来了解下 Django 中 Form 表单的基本用法。...对于 Django 中的 Form 表单的用法,我们只需要了解以下几点: 它是一个定义一个 Form 类,基类是 django.forms.Forms 或者 django.forms.ModelForm...ModelForm 比较简单,它适用于:当你创建的表单内容与某个 Model 内容很相似的情况。如上面文档介绍的一样 在 Form 类中,clean 方法可以在做表单验证,它是一个总的验证方法。...clean_xxx 是单个表单验证方法,其中 xxx 是对应的属性名称 form.clean_data 是会得到字典类型,key 是对应属性名,value 即为表单输入的值 生成的 form 标签,id

    2.3K20

    Django内置的通用类视图CBV及示例

    ,各种有用的对象被存储在self上,同request(self.request)一样,其中包含了从URLconf中获取到的位置参数(self.args)和关键字参数(self.kwargs)....显示表单的视图,验证错误时,重新显示表单并显示错误信息;成功时,重定向到一个新的URL....显示用于创建对象的表单的视图,通过验证错误信息重新显示视图,并且保存对象....显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类)....显示确认页面并删除现有对象的视图.仅当请求方法为POST时,才会删除给定的内容.如果此视图是通过GET提取的,它将显示一个确认页面,其中包含POST到同一网址的表单.

    3.2K10

    HTML表单和组件

    2.表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。...表单组件介绍 表单组件就是用来让用户输入信息、接收用户输入信息的组件,我们经常会在网页上看到的文本框、按钮、单选框、复选框等等,这些就是所谓的组件。...novalidate属性,这个属性表示表单中所有的组件信息都不需要验证,例如我有一个email组件,这个组件在数据提交时会经过一个判断验证一下email信息是否正确,但是加上了novalidate属性就不会有这一步的验证...表单组件之引入组件 标签引入的组件用于收集用户输入的内容,例如文本框、单选框复选框、密码框等等,这个标签最主要的属性是type,这个属性用于选择你需要使用什么样的组件...require属性,表示必填项,这个属性的关键字也只有一个,所以不写值也可以,如果这个加上这个属性的组件没有填写信息的话,表单就不会进行提交,示例: ? 运行结果: ?

    2.7K60

    Django的form,model自定制

    一、Form组件原理: django框架提供了一个form类,来处理web开发中的表单相关事项。...众所周知,form最常做的是对用户输入的内容进行验证,为此django的forms类提供了全面的内容验证和保留用户上次输入数据的支持。...form组件有2大大功能   对用户提交的内容进行验证(from表单/Ajax)   保留用户上次输入的内容 form组件验证的流程 obj=Form()form组件类实例化时找到类中所有的字段 把这些字段...(一般不使用post_clean做自定义过滤,clean_form方法完全可以解决) form表单提交验证 form表单(会发起 get)提交刷新失去上次内容 from django.shortcuts...#验证成功后obj.cleaned_data获取成功的数据,字典类型正好对应数据 的批量操作 print(obj.cleaned_data) return

    2.5K10

    Django 2.0 新特性 转

    ()新增field_name参数; CursorWrapper.callproc()现在接收可选的字典类型关键字参数; QuerySet.values_list()新增named参数,用于获取命名的元组结果...添加多线程支持; Validators验证器 新的ProhibitNullCharactersValidator不允许CharField及其子类的表单输入为空; 三、重要的向后不兼容 1....AbstractUser.last_name的最大长度增加到150 如果你有一个自定义的用户模型继承了AbstractUser,你需要生成并应用一个数据库迁移,使得last_name的最大长度变为150...QuerySet.reverse()和last()不能用于切片后的查询集 对切片后的查询集使用反转和获取最近对象的操作将弹出异常,如下所示: >>> Model.objects.all()[:2].reverse...表单的字段不再接收可选参数作为位置参数 为了防止运行时错误,提高可靠性。

    2.6K20

    vue2

    目录 表单指令 条件指令 循环指令 循环指令案例 分隔符 过滤器 计算属性 监听属性 冒泡排序 JS代码中的光标设置 表单指令 v-model="变量",变量值与表单的value相关,placeholder...属性是input框的默认值,v-model可以实现数据的双向绑定,变量的值可以影响表单标签的值,反过来标签的值也可以影响变量的值。...value值 单一复选框:变量为布尔类型,代表是否选中 多复选框:变量为数组,存放选中的选项value 条件指令 v-show: display:none#将标签隐藏起来不显示,但是浏览器已将渲染了,...中使用vue时,vue的插值符号与Django的模板语法中的{{}}冲突,这时就需要我们使用分隔符号 为vue重新设置一个插值符,具体设置方法如下。...col-resize有左右两个箭头,中间由竖线分隔开的光标。用于标示项目或标题栏可以被水平改变尺寸。 crosshair简单的十字线光标。

    5.5K20

    01.前端之HTML

    ,比如文本字段、复选框、单选框、提交按钮等等。     ...name 规定识别表单的名称(对于 DOM 使用:document.forms.name)。 novalidate 规定浏览器不验证表单。...那么你看,你的浏览器再你点击提交的时候,获取了你所输入的内容,然后通过网络提交给你的服务端代码程序了。      ...然后我们后端通过提交过来的数据,来做某些事情,该验证的验证,该保存的保存      所以记住form表单里面有两个属性:action控制往哪里提交数据、method控制用什么方式提交。       ...注意:       form表单提交数据的时候,必须有个submit按钮   下面这个django的示例,等我学django的时候再说吧: from django.conf.urls import url

    1.1K20

    【Django】在大型项目中的django的性能模型字段primary_key

    模型字段 序列本身由正好两个项目的迭代项组成(例如,[(A,B),(A,C)…]),作为该字段的选择。如果给出了选择,它们将通过模型验证来执行。...默认表单部分将是包含这些选项的选择框,而不是标准文本字段。 每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是人类可读的名称。...第二个元素是二进制元组的迭代。每个二进制元组包含一个值和一个可读的选项名称。分组选项可以与单个列表中的未分组选项组合(例如本例中的“未知”选项)。...主键字段是只读的。如果更改现有对象的主键值并保存它,则会在旧对象旁边创建一个新对象。...接受与DateField相同的自动填充选项。 此字段的默认表单部分是TimeInput。一些JavaScript快捷方式已添加到管理中。

    2.1K20

    自定义 Django 管理界面中的多对多内联模型

    问题背景在 Django 管理界面中,用户可以使用内联模型来管理一对多的关系。但是,当一对多关系是多对多时,Django 提供的默认内联模型可能并不适合。...例如,如果存在一个产品模型和一个发票模型,并且产品和发票之间是多对多的关系,那么在发票的管理界面中,Django 会显示一个表格,其中包含所有产品及其对应的复选框。...这个方法负责返回一个表单集,表单集中的每个表单对应于内联模型中的一个对象。在 get_formset() 方法中,使用 formset_factory() 函数创建表单集。...在 formset_factory() 函数中,指定 model 参数为内联模型的模型类,并指定 fields 参数为内联模型中需要显示的字段。...下面是一个示例代码,演示了如何自定义多对多内联模型的显示方式:from django.contrib import adminfrom django.contrib.admin.utils import

    12510
    领券