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

Django学习笔记 1.4 表单和通用视图

文章目录 前言 1 编写一个简单的表单 1.1 模版中新增表单 1.2 视图中新增交互处理 1.3 重定向的 results 页面增加显示 1.4 完善 results.html 页面代码 2 通用视图...2.1 改良 URLconf 2.2 改良视图 小结 前言 这一节我们将继续编写投票应用,专注于简单的表单处理并且精简我们的代码。...return HttpResponseRedirect(reverse('polls:results', args=(question.id,))) 1.3 重定向的 results 页面增加显示 还是视图中处理...由于这种情况特别常见,Django 提供一种快捷方式,叫做“通用视图”系统。 通用视图将常见的模式抽象化,可以使你在编写应用时甚至不需要编写Python代码。...让我们将我们的投票应用转换成使用通用视图系统,仅仅需要做以下几步来完成转换: 1.转换 URLconf。 2.删除一些旧的、不再需要的视图。 3.基于 Django 的通用视图引入新的视图

77810

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

返回的 HTTP 响应的 cookie 里,django 会为你添加一个 csrftoken 字段,其值为一个自动生成的 token 在所有的 POST 表单时,必须包含一个 csrfmiddlewaretoken...字段 (只需要在模板里加一个 tag, django 就会自动帮你生成,见下面) 处理 POST 请求之前,django 会验证这个请求的 cookie 里的 csrftoken 字段的值和提交的表单里的...要启用 django.middleware.csrf.CsrfViewMiddleware 这个中间件 再次,在所有的 POST 表单元素时,需要加上一个 {% csrf_token %} tag 渲染模块时...login.html 3.建立项目视图的练习,详情请见Django教程(一)- Django视图与网址 ? 逻辑示意图.png 定义视图函数 ?...定义视图函数views.py app中创建urls.py,定义视图函数相关的url ?

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

Django源码学习-13-HttpResponse

Django源码学习-12-ContextMixin 上下文 ?...Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。...Django服务器接收到客户端发送过来的请求后,会将提交上来的这些数据封装成一个HttpRequest对象传给视图函数。那么视图函数处理完相关的逻辑后,也需要返回一个响应给浏览器。...from django.http import HttpResponse ? 对于HttpRequest 对象来说,是由Django自动创建。但是,HttpResponse对象就必须创建。...max_age是一个整数,表示指定秒数后过期。 expires是一个datetime或timedelta对象,会话将在这个指定的日期/时间过期。 max_age与expires二选一。

61340

登录注册小案例实现(使用Django中的form表单来进行用户输入数据的校验)

(1)纯理论来讲讲form表单: ①form表单的引入: 登录页面和注册页面都会用到form表单来提交数据 当数据提交到后台后,需要在视图函数中去验证数据的合法性. django中提供了一个form表单的功能...如果绑定了,则返回True,否则返回False. cleaned_data:这个是is_valid()返回True的时候,保存用户提交上来的数据. ③form表单中的一些参数说明: max_length...(2)本案例中实战使用这个form表单: 在此名为mucis的app下创建forms.py的文件,编写表单校验(用户登录和注册的数据校验): from django import forms from...,但是后面视图函数里写业务逻辑时发现, 如果验证成功,用户需要登录->这就意味着需要设置session,而session是通过request对象来设置,视图函数里直接有,可以直接使用;...而如果在此form表单校验里写的话还需要导入,是不是多此一举了,所以此处注释,本逻辑视图函数里完成!

4.3K00

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

使用基于类的视图处理表单 表单的处理通常有3 个步骤: 初始的的GET (空白或预填充的表单) 带有非法数据的POST(通常重新显示表单和错误信息) 带有合法数据的POST(处理数据并重定向) 你自己实现这些功能经常导致许多重复的样本代码...(参见视图中使用表单)。...为了避免这点,Django 提供一系列的通用的基于类的视图用于表单的处理。...模型的表单 通用视图在于模型一起工作时会真正光芒四射。这些通用的视图将自动创建一个ModelForm,只要它们能知道使用哪一个模型类: 如果给出model属性,则使用该模型类。...Changed in Django 1.8: 省略fields 属性以前是允许的,但是导致表单带有模型的所有字段。

1.8K20

评论

我们知道每一个 URL 对应着一个 Django视图函数,于是 Django 调用这个视图函数,我们视图函数中写上处理用户通过表单交上来的数据的代码,比如验证数据的合法性并且保存数据到数据库中,...因此我们强烈建议你完成本教程后接下来的学习中仔细阅读 Django 官方文档关于 表单 的介绍,因为表单在 Web 开发中会经常遇到。 下面开始编写评论表单代码。...评论视图函数 当用户提交表单中的数据后,Django 需要调用相应的视图函数来处理这些数据,下面开始写我们视图函数处理逻辑: comments/views.py from django.shortcuts...return redirect(post) 这个评论视图相比之前的一些视图复杂了很多,主要是处理评论的过程更加复杂。具体过程代码中已有详细注释,这里仅就视图中出现了一些新的知识点进行讲解。...我们表单视图函数里传递了一个 form 变量给模板,这个变量就包含了自动生成 HTML 表单的全部数据。 detail.html 中通过 form 来自动生成表单

3.1K60

Django学习-第十三讲(下):表单(一)forms.form、forms.modelform

Django中的表单 Django中的表单丰富了传统的HTML语言中的表单Django中的表单,主要做以下两件事 渲染表单模板。 表单验证数据是否合法。...2.Django表单使用流程 讲解Django表单的具体每部分的细节之前。我们首先先来看下整体的使用流程。...email = forms.EmailField(label='邮箱') reply = forms.BooleanField(required=False,label='回复') 然后视图中...如果是GET请求,那么返回一个空的表单,如果是POST请求,那么将提交上来的数据进行校验。...这样就可以生成一个表单了 2.1. django 表单常用的Field 使用Field可以是对数据验证的第一步。你期望这个提交上来的数据是什么类型,那么就使用什么类型的Field。

3.1K40

Django 1.10中文文档-第一个应用Part4-表单和通用视图

Django为你提供了一个简单的方法来避免这个困扰,那就是form表单内添加一条{% csrf_token %}标签,标签名不可更改,固定格式,位置任意,只要是form表单内。...现在,创建一个Django视图来处理提交的数据,Part3中已经创建了一个URLconf ,包含这一行: # polls/urls.py url(r'^(?...上面的try ... except就是用来检查KeyError,如果没有给出choice将重新显示Question表单和错误信息; 将Choice得票数加1之后,返回一个HttpResponseRedirect...这个函数可以避免视图函数中硬编码URL。它需要我们给出想要跳转的视图的名字和该视图所对应的URL模式中需要给该视图提供的参数。...Part3-视图和模板 Django 1.10中文文档-第一个应用Part4-表单和通用视图

2.3K40

django之评论系统及多级评论

我们知道每一个 URL 对应着一个 Django视图函数,于是 Django 调用这个视图函数,我们视图函数中写上处理用户通过表单交上来的数据的代码,比如验证数据的合法性并且保存数据到数据库中,...因此我们强烈建议你完成本教程后接下来的学习中仔细阅读 Django 官方文档关于 表单 的介绍,因为表单在 Web 开发中会经常遇到。 下面开始编写评论表单代码。...评论视图函数 当用户提交表单中的数据后,Django 需要调用相应的视图函数来处理这些数据,下面开始写我们视图函数处理逻辑: comments/views.py from django.shortcuts...return redirect(post) 这个评论视图相比之前的一些视图复杂了很多,主要是处理评论的过程更加复杂。具体过程代码中已有详细注释,这里仅就视图中出现了一些新的知识点进行讲解。...我们表单视图函数里传递了一个 form 变量给模板,这个变量就包含了自动生成 HTML 表单的全部数据。 detail.html 中通过 form 来自动生成表单

6.8K61

第 14 篇:交流的桥梁“评论功能”—— HelloDjango 系列教程

此外, 博客从“裸奔”到“有皮肤”[3] 中提过,所有模型的字段都接受一个 verbose_name 参数(大部分是第一个位置参数),django 根据模型的定义自动生成表单时,会使用这个参数的值作为表单字段的...我们知道每一个 URL 对应着一个 django视图函数,于是 django 调用这个视图函数,我们视图函数中写上处理用户通过表单交上来的数据的代码,比如验证数据的合法性并且保存数据到数据库中,...action 指定表单内容提交的地址,这里我们提交给 comments:comment 视图函数对应的 URL(后面会创建这个视图函数并绑定对应的 URL),模板标签 url 的用法 分类、归档和标签页...可以看到表单渲染出来的结果了: 评论视图函数 当用户提交表单中的数据后,django 需要调用相应的视图函数来处理这些数据,下面开始写我们视图函数处理逻辑: from blog.models import...具体过程代码中已有详细注释,这里仅就视图中出现了一些新的知识点进行讲解。

1.6K20

django admin详情表单显示中添加自定义控件的实现

开发中有需求详情显示里外键字段内容,并且添加按钮弹窗内容,以及按钮跳转内容。...form自带了widget控件,比如我想在里面添加一个按钮,记录用户的积分消耗情况,那么就可以类名下直接添加: from django.forms import widgets class AForm...这个时候我们就可以详情内看见button了,但是相对应的,detail的表单中添加后,add的表单中也会出现一个button,这个不是我们想要的,所以就要想办法让button只存在于detail界面中...补充知识:Django admin 列表每行后面添加审核按钮 我就废话不多说了,还是直接看代码吧!...刷新页面即可; 以上这篇django admin详情表单显示中添加自定义控件的实现就是小编分享给大家的全部内容了,希望能给大家一个参考。

4.9K20

Django基础篇-form表单

django 中的表单不是 html 中的那个表单,这个表单是用来验证数据的合法性的一个东西,也可以生成 html 代码。...使用表单 创建一个 forms.py 的文件,放在指定的 app 当中,然后在里面写表单表单是通过类实现的,继承自 forms.Form,然后在里面定义要验证的字段。...表单中,创建字段跟模型是一模一样的,但是没有 null=True 或者 blank=True 等这几种参数了,有的参数是 required=True/False。...使用 is_valid() 方法可以验证用户提交的数据是否合法,而且 html 表单元素的 name 必须和 django 中的表单的 name 保持一致,否则匹配不到。...cleaned_data:这个是 is_valid() 返回 True 的时候,保存用户提交上来的数据。

45020

Django视图层与模板层

会对它做进一步的处理与封装以便我们更为方便地提取数据,比如 对于form表单来说,提交数据的常用方法为GET与POST 1:如果表单属性method='GET',那么提交表单时,表单内数据不会存放于请求体中...,而是会将表单数据按照 k1=v1&k2=v2&k3=v3的格式放到url中,然后发送给djangodjango会将这些数据封装到request.GET中,注意此 时的request.body为空、无用...2:如果表单属性method='POST',那么提交表单时,表单内的所有数据都会存放于请求体中,发送给django 后会封装到request.body里,此时django为了方便我们提取数据,会..." value="dmje28mFo...OvnZ5"> # 2、使用form表单提交POST请求时,会提交上述随机字符串,服务端接收到该POST请求时会对比该随机字符 串,对比成功则处理该POST...2.4.1自定义前的准备 django支持用户自定义过滤器和标签但前提必须要先执行以下三步: 1.应用名下新建一个名为templatetags(必须是这个名字)的文件夹 2.该文件夹内新建一个任意名称的

9.2K10

注册

回顾一下 Django 的 MVT 经典开发流程,对用户注册功能来说,首先创建用户模型(M),这一步我们已经完成了。编写注册视图函数(V),并将为视图函数绑定对应的 URL。...编写注册模板(T),模板中提供一个注册表单给用户。Django 用户系统内置了登录、修改密码、找回密码等视图,但是唯独用户注册的视图函数没有提供,这一部分需要我们自己来写。...编写用户注册视图函数 首先来分析一下注册函数的逻辑。用户注册表单里填写注册信息,然后通过表单将这些信息提交给服务器。视图函数从用户提交的数据提取用户的注册信息,然后验证这些数据的合法性。...这个例子中,表单的数据将提交给 URL /users/register/,然后 Django 调用对应的视图函数 register 进行处理。...对表单 form(这是一个模板变量,是 RegisterForm 的一个实例,我们 register 视图函数中将它传递给模板的。)

9K60

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

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

2.9K40

python-Django-表单基础概念

简介表单是Web应用程序中最常用的组件之一,它允许用户提交数据并与Web应用程序交互。Django中,表单是由Django表单框架处理的,它允许您轻松地创建HTML表单并处理表单数据。...定义表单Django中,表单类是定义表单字段和验证规则的Python类。每个表单字段都映射到一个HTML表单元素,并具有相应的验证规则。...模板中显示表单要在模板中显示表单,您需要将表单类实例化,并将其传递到模板上下文中。然后,模板中使用Django模板语言(DTL)来呈现表单字段。...处理表单数据Django中,表单数据是由视图函数处理的。当用户提交表单时,Django将请求发送到视图函数,并将表单数据作为POST请求参数传递给函数。...以下是一个处理表单数据的简单视图函数示例:from django.shortcuts import renderfrom django.http import HttpResponseRedirectfrom

1.2K51

Django后端如何限制上传文件大小

Django中,对上传文件大小进行限制可以通过几种不同的方法来实现。这包括表单层面、视图层面或通过设置Django项目的全局配置。...以下是一些常用的方法: 方法 1: 使用Django设置限制文件大小 Django的settings.py文件中,你可以设置DATA_UPLOAD_MAX_MEMORY_SIZE来限制上传文件的大小(...方法 2: 表单的clean方法中自定义文件大小检查 你可以表单中覆写clean_方法或clean方法来添加自定义的文件大小检查逻辑。...方法 3: 视图中检查文件大小 如果你想在视图层面进行更灵活的处理,可以处理上传文件的视图中直接检查文件大小。...不过,通常在表单层面进行文件大小检查是一个不错的选择,因为这样可以提供更好的用户体验,用户提交表单时就能得到即时的反馈。

17110

107-Django开发医院管理系统(医生-患者-医院管理员)

用户认证和权限使用Django的内置用户认证系统。创建自定义的权限和角色(医生、管理员),并将它们关联到用户模型。使用Django的权限系统来限制不同角色的用户访问不同的视图。4....视图和模板创建视图来处理各种用户请求,如登录、注册、查看医生列表、查看患者信息、生成发票等。使用Django的模板系统来渲染HTML页面,并包含必要的JavaScript和CSS文件。5....表单处理创建Django表单来处理用户输入,如注册表单、登录表单、医生申请表单等。视图中验证表单数据,并将其保存到数据库中。6. PDF生成使用xhtml2pdf库来将HTML页面转换为PDF文件。...路由配置Django项目的urls.py文件中配置URL路由,将URL路径映射到相应的视图函数或类视图。8....部署和测试本地环境中测试系统的各项功能,确保它们按预期工作。使用Django的内置测试工具或第三方测试框架编写单元测试和功能测试。部署系统到生产环境,并进行性能优化和安全性检查。12.

10000

Django源码学习-17-Forms

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。...模型中,一个字段代表数据表的一列,而form表单中的一个字段代表中的一个元素。...有些django项目并不直接呈现HTML,而是以API框架的形式存在,在这些API形式的django项目中也用到了django forms。...Form 使用步骤: ① 编写表单类 在当前app内新建一个forms.py文件(就像views.py,models.py等等) 首先导入forms,from django import forms...② 视图处理 需要在视图中,实例化编写好的表单类。 ? ③ 模版处理 name对应字段名称,type对应字段类型field。 ?

1K20
领券