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

在views form_valid函数中访问保存在ModelForm中的数据

在views的form_valid函数中,可以通过self.object来访问保存在ModelForm中的数据。

ModelForm是Django中的一个表单类,它可以根据指定的模型自动生成表单字段。当我们在views中使用ModelForm处理表单提交时,可以通过form_valid函数来处理表单验证通过后的逻辑。

在form_valid函数中,self.object表示当前正在处理的模型实例对象。通过self.object可以访问保存在ModelForm中的数据。

以下是一个示例代码:

代码语言:txt
复制
from django.views.generic.edit import FormView
from .forms import MyModelForm

class MyFormView(FormView):
    form_class = MyModelForm
    template_name = 'my_template.html'
    success_url = '/success/'

    def form_valid(self, form):
        # 访问保存在ModelForm中的数据
        data = form.cleaned_data
        # 通过self.object访问当前模型实例对象
        instance = self.object

        # 在这里可以对数据进行进一步处理或保存到数据库

        return super().form_valid(form)

在上述示例中,form_valid函数中的form.cleaned_data可以获取到表单中经过验证的数据,而self.object则表示当前正在处理的模型实例对象。你可以根据具体需求对这些数据进行进一步处理或保存到数据库中。

推荐的腾讯云相关产品:腾讯云数据库(https://cloud.tencent.com/product/cdb)、腾讯云云服务器(https://cloud.tencent.com/product/cvm)、腾讯云对象存储(https://cloud.tencent.com/product/cos)等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

使用基于类视图处理表单 表单处理通常有3 个步骤: 初始GET (空白或预填充表单) 带有非法数据POST(通常重新显示表单和错误信息) 带有合法数据POST(处理数据并重定向) 你自己实现这些功能经常导致许多重复样本代码...你甚至不需要为CreateView 和UpdateView提供success_url —— 如果存在它们将使用模型对象get_absolute_url()。...最后,我我们来将这些新视图放到URLconf : #urls.py from django.conf.urls import url from myapp.views import AuthorCreate...在这个视图中,请确保你没有将created_by 包含进要编辑字段列表,并覆盖form_valid() 来添加这个用户: #views.py from django.views.generic.edit...(form) 注意,你需要使用login_required() 来装饰这个视图,或者form_valid() 处理未认证用户。

1.8K20

djangoModelForm多表单组合解决方案

那么,一个模型代表着RDS一张表,模型实例代表着关系数据一行,而form如何与一行相对应呢?..._save_m2m           return self.instance   所以,对于ModelForm我们可以传入instance参数初始化表单,可以调用save()方法直接将从html里得到表单数据持久化到数据...比如CreateView就会由django自动把页面上POST出form数据解析到model生成表单(或者form_calss指定ModelForm类型表单),同时调用表单save方法将数据添加到模型对应数据库表...所以,从模型创建出表单ModelForm,配合上通用视图后,威力巨大!! 4、多个ModelForm一个form里提交 终于可以回到本文主题了。...那么,从第1部分我介绍Form里prefix,以及第3部分里类图中ProcessFormView允许重定义form_valid,以及第2部分ModelFormsave方法行为控制,解决方案已经一目了然了

3.3K20

如何使用potplayer公网环境访问内网群晖NAS中储存在webdav影视资源

windows平台上使用人数较多播放器是pot player,它界面简洁,且拥有异常强大内置音视频解码器,可以支持几乎全部音乐、视频文件格式播放。而且软件本身没有任何广告和流氓插件。...按照本教程方法操作后,达到效果是: 公网环境下(连接其他局域网/流量)使用笔记本potplayer访问本地webdav影视资源。...,将 本地地址 改为 公网地址 即可在外地使用公网ip播放: 这里注意: 因为我们使用是 tcp协议 ,所以主机路径里 不要加上http/ **:**后端口号要写在 端口 。...5 使用固定地址potplayer访问webdav 配置固定地址功能为cpolar付费功能,需要将cpolar升级至专业版后,进行以下步骤: 登录cpolar官网,点击左侧预留,找到保留tcp地址...影视资源,音乐资源等。

15010

数据结构:哈希函数 GitHub 和比特币应用

哈希函数不只是在生成哈希表这种数据结构扮演着重要角色,它其实在密码学也起着关键性作用。密码学这个概念听上去离我们很遥远,但其实它已经被应用在我们身边各式各样软件。...所以这一讲我们一起来看看哈希函数是如何被应用在 GitHub ,以及再看看链表和哈希函数比特币是怎么应用。...而当这个数据文件里面的任何一点内容被修改之后,通过哈希函数所产生哈希值也就不一样了,从而我们就可以判定这个数据文件是被修改过文件。很多地方,我们也会称这样哈希值为检验和(Checksum)。...比特币是由一个网名为“本聪”的人所提出 2009 年诞生一个虚拟加密货币,它本质思想是以区块链为基础而搭建起来一个去中心化记账系统。...与链表数据结构使用内存地址去寻找下一个节点不同是,区块链采用了哈希值方式去寻找节点。比特币里,它采用是 SHA-256 这种加密哈希函数,将每一个区块都计算出一个 256 位哈希值。

2.2K70

python-Django-URL 路由(二)

'), path('post//edit/', views.post_edit, name='post_edit'), ] 在这个示例,我们定义了四个不同URL模式。...在这个示例,我们将这些视图函数定义名为views.py文件:: from django.shortcuts import render, get_object_or_404, redirect...(form) post_list = PostList.as_view() 在这个示例,我们定义了四个视图函数。...视图函数获取文章slug,并使用get_object_or_404函数数据获取文章对象。然后,视图函数将文章对象传递给包含文章详细信息HTML模板。...这个视图函数使用Django通用视图类CreateView来处理创建新文章表单,然后重定向到post_list视图函数,这个视图函数将渲染一个包含所有文章列表HTML模板。

80620

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

,各种有用对象被存储self上,同request(self.request)一样,其中包含了从URLconf获取到位置参数(self.args)和关键字参数(self.kwargs)....: 指定在上下文中使用变量名称. pk_url_kwarg: URLconf,包含逐渐关键字参数名称.默认为'pk'. get_context_data:返回显示对象上下文数据....方法: get_success_url():决定在表单成功验证后重定向到URL,默认返回success_url. form_valid(form):表单验证成功后调用该方法(注意并没有对数据进行操作...,并重定向到get_success_url(),可以覆盖该方法以上行为之间添加额外动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充表单数据和错误信息重新渲染上下文...根据官网文档例子,我们先在projtrack/views.py添加项目新增和修改视图代码: # projtrack/views.py ...

3.2K10

Django内置通用类视图及实例

,各种有用对象被存储self上,同request(self.request)一样,其中包含了从URLconf获取到位置参数(self.args)和关键字参数(self.kwargs)....: 指定在上下文中使用变量名称. pk_url_kwarg: URLconf,包含逐渐关键字参数名称.默认为'pk'. get_context_data:返回显示对象上下文数据....方法: get_success_url():决定在表单成功验证后重定向到URL,默认返回success_url. form_valid(form):表单验证成功后调用该方法(注意并没有对数据进行操作...,并重定向到get_success_url(),可以覆盖该方法以上行为之间添加额外动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充表单数据和错误信息重新渲染上下文...根据官网文档例子,我们先在projtrack/views.py添加项目新增和修改视图代码: # projtrack/views.py ...

2.9K40

关于“Python”核心知识点整理大全56

1处, 我们定义了一个HTML表单。实参action告诉服务器将提交表单数据发送到哪里,这里我们将 它发回给视图函数new_topic()。...P\d+)捕获一个数字值,并将其存储变量topic_id。请 求URL与这个模式匹配时,Django将请求和主题ID发送给函数new_entry()。 3....我们将new_entry属性topic设置为在这个 函数开头从数据获取主题(见6),然后调用save(),且不指定任何实参。这将把条目 存到数据库,并将其与正确主题相关联。.../1/)传递ID存储形参entry_id。...该页面收到POST请求(条目文本经过修订)时,它将修改后文本保存到数据views.py from django.shortcuts import render --snip-- from

11710

Django 教程 --- Django CRUD

创建 –在数据创建或添加新条目。...检索 –以列表形式(列表视图)读取,检索,搜索或查看现有条目,或详细检索特定条目(详细视图) 更新 –更新或编辑数据库表现有条目 删除 –删除,停用或删除数据库表现有条目 Django CRUD...(创建,检索,更新,删除)基于函数视图 使用示例说明如何创建和使用CRUD视图。...详细视图 详细信息视图是一种视图(逻辑),用于显示数据具有所有必要详细信息特定实例。它用于单个页面或视图上显示多种类型数据,例如用户个人资料。...删除检视 删除视图是指从数据删除表特定实例视图(逻辑)。它用于删除数据条目,例如,删除geeksforgeeks上文章。

1.9K10

七日Python之路--第十二天(Django Web 开发指南)

(7)使用模型 Django项目中 manage.py 脚本包含了操作数据功能。syncdb只能保证所有模型类都有对应数据库表,但不会修改已经存在数据库表。...(13)url配置 url配置,关于参数。可以使用 : (/?P\d{2}/) 来指定 views视图中参数对应关系。...Person.DoesNotExist: raise Http404 或者使用 get_object_or_404 (15)利用 *args / **kwargs #视图函数...模板输出context变量时,会隐式调用unicode方法。如果试图打印没有__unicode__方法对象,模板是不可见。...(20)保存 ModelForm 有一个save()方法,可以将信息保存为数据库里一条记录,然后返回Model对象结果。

1.8K20

DjangoModelform组件

ModelForm 创建modelform #首先导入ModelForm from django.forms import ModelForm #视图函数,定义一个类,比如就叫StudentList...,这个类要继承ModelForm,在这个类再写一个原类Meta(规定写法,并注意首字母是大写) #在这个原类,有以下属性(部分): class StudentList(ModelForm):...首先 for循环这个student_list,拿到student对象,直接在前端打印这个student,是个input框student.label ,拿到数据每个字段verbose_name ,如果没有设置这个属性...如果不用ModelForm,编辑时候得显示之前数据吧,还得挨个取一遍值,如果ModelForm,只需要加一个instance=obj(obj是要修改数据一条数据对象)就可以得到同样效果...,redirect from django.forms import ModelForm # Create your views here. from app01 import models def test

37210

Python 项目实践三(Web应用程序)第四篇

接着上节继续学习,本章将建立用户账户 Web应用程序核心是让任何用户都能够注册账户并能够使用它,不管用户身处何方。本章,你将创建一些表单,让用户能够添加主题和条目,以及编辑既有的条目。...然后,我们再对这些有效信息进行处理,并将其保存到数据合适地方。这些工作很多都是由Django自动完成。...Django,创建表单最简单方式是使用ModelForm,它根据前面的模型信息自动创建表单。...创建一个名为forms.py文件,将其存储到models.py所在目录,并在其中编写你第一个表单: from django import forms from .models import Topic...='new_topic'), ] 1.3 视图函数new_topic() 函数new_topic()需要处理两种情形:刚进入new_topic网页(在这种情况下,它应显示一个空表单);对提交表单数据进行处理

1.2K60
领券