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

浅谈laravel-admin form数据,提交后,保存前,获取并进行编辑

有一个这样需求: 当商品设置为立即上架时,通过审核就进入上架状态,当设置为保存时,通过审核就进入未上架状态。...所以,需要在保存前根据提交审核状态和设置方式得到商品状态再保存,而通过$form- model()- attribute_name只能获取提交后值,不能更改。...Google之后发现了已经有解决方案:可以修改提交表单逻辑吗 #375 模型添加如下方法: public static function boot() { parent::boot();...static::saving(function ($model) { // 从$model取出数据并进行处理 }); } 以上这篇浅谈laravel-admin form...数据,提交后,保存前,获取并进行编辑就是小编分享给大家全部内容了,希望能给大家一个参考。

4.1K62

浅谈laravel-admin form数据,提交后,保存前,获取并进行编辑

有一个这样需求: 当商品设置为立即上架时,通过审核就进入上架状态,当设置为保存时,通过审核就进入未上架状态。...所以,需要在保存前根据提交审核状态和设置方式得到商品状态再保存,而通过$form->model()->attribute_name只能获取提交后值,不能更改。...Google之后发现了已经有解决方案:可以修改提交表单逻辑吗 #375 模/ /型添加如下方法: public static function boot() { parent::boot()...; static::saving(function ($model) { // 从$model取出数据并进行处理 }); } 以上这篇浅谈laravel-admin form数据,提交后,保存前,...获取并进行编辑就是小编分享给大家全部内容了,希望能给大家一个参考,也希望大家多多支持/ /。

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

Django内置通用类视图及实例

方法: get_success_url():决定在表单成功验证后重定向到URL,默认返回success_url. form_valid(form):表单验证成功后调用该方法(注意并没有数据进行操作...,并重定向到get_success_url(),可以覆盖该方法以上行为之间添加额外动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充表单数据和错误信息重新渲染上下文...get_context_data(**kwargs):返回显示对象上下文数据. 4.CreateView ? 显示用于创建对象表单视图,通过验证错误信息重新显示视图,并且保存对象....显示用于编辑现有对象表单视图,重新显示具有验证错误信息视图,并且保存对象.这里使用从对象模型自动生成表单(除非手动制定表单类)....因为编辑和新增页面的前端代码基本一样,我们在这里都指定了template为update_form。也指定不同模板。另外也可用template_name_suffix参数去指定模板。

2.9K40

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

方法: get_success_url():决定在表单成功验证后重定向到URL,默认返回success_url. form_valid(form):表单验证成功后调用该方法(注意并没有数据进行操作...,并重定向到get_success_url(),可以覆盖该方法以上行为之间添加额外动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充表单数据和错误信息重新渲染上下文...显示用于创建对象表单视图,通过验证错误信息重新显示视图,并且保存对象....显示用于编辑现有对象表单视图,重新显示具有验证错误信息视图,并且保存对象.这里使用从对象模型自动生成表单(除非手动制定表单类)....因为编辑和新增页面的前端代码基本一样,我们在这里都指定了template为update_form。也指定不同模板。另外也可用template_name_suffix参数去指定模板。

3.2K10

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

2处,我们定义了属性widgets。小部件(widget)是一个HTML表单元素,如单行文本框、 多行文本区域或下拉列表。通过设置属性widgets,覆盖Django选择默认小部件。...如果请求方法为POST,我们就对数据进行处理:创建一个EntryForm 实例,使用request对象POST数据来填充它(见4);再检查表单是否有效,如果有效,就设 置条目对象属性topic,再将条目对象保存数据库...调用save()时,我们传递了实参commit=False(见5),让Django创建一个新条目对象,并 将其存储到new_entry,但不将它保存数据。...我们将new_entry属性topic设置为在这个 函数开头从数据获取主题(见6),然后调用save(),且不指定任何实参。这将把条目保 存到数据库,并将其与正确主题相关联。...该页面收到POST请求(条目文本经过修订)时,它将修改后文本保存数据: views.py from django.shortcuts import render --snip-- from

11510

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

自己项目中编 写这样查询时,先在Django shell中进行尝试大有裨益。相比于编写视图和模板,再在 浏览器检查结果,shell执行代码更快地获得反馈。 3....你学习了数据库,以及在你修改模型后, Django可为你迁移数据库提供什么样帮助。你学习了如何创建访问管理网站超级用户,并 使用管理网站输入了一些初始数据。...Django,创建表单最简单方式是使用ModelForm,它根据我们第18章定义模型 信息自动创建表单。...由于实例化TopicForm时我们没有指定任何实参,Django将创建一个可供用户 填写表单。 如果请求方法为POST,将执行else代码块,对提交表单数据进行处理。...这 种自动验证避免了我们去做大量工作。如果所有字段都有效,我们就可调用save()(见), 将表单数据写入数据库。保存数据后,就可离开这个页面了。

12810

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

考虑一下Django Admin 站点,不同类型大量数据项需要在一个表单准备好、渲染成HTML、使用一个方便界面编辑、返回给服务器、验证并清除,然后保存或者向后继续处理。...实例化、处理和渲染表单 Django 渲染一个对象时,我们通常: 视图中获得它(例如,从数据获取) 将它传递给模板上下文 使用模板变量将它扩展为HTML 标记 模板渲染表单和渲染其它类型对象几乎一样...当我们实例化表单时,我们可以选择让它为空还是预先填充它,例如使用: 来自一个保存模型实例数据(例如用于编辑管理表单) 我们从其它地方获得数据 从前面一个HTML 表单提交过来数据 最后一种情况最令人关注...模型和表单 实际上,如果你表单打算直接用来添加和编辑Django 模型,ModelForm 可以节省你许多时间、精力和代码,因为它将根据Model 类构建一个表单以及适当字段和属性。...重用表单模板 如果你网站在多个地方对表单使用相同渲染逻辑,你可以保存表单循环到一个单独模板来减少重复,然后在其它模板中使用include 标签来重用它: # In your form template

4.2K20

django 1.8 官方文档翻译: 1-2-2 编写你第一个Django应用,第2部分

既然你添加了新应用到 INSTALLED_APPS 数据库表就需要更新。 编辑 mysite/urls.py 文件并且将有关管理行取消注释 – 共有三行取消了注释。...这些都是 Django 默认情况下自带核心功能。 使 poll 应用数据管理网站编辑 但是 poll 应用在哪? 它可是没有管理网站首页上显示啊。...该页 显示了数据库中所有的 polls 可让你选中一个进行编辑。 有个 “What’s up?” poll 是我们第一个教程创建: 点击这个”What’s up?”...Add choice” 表单 看起来像这样: 该表单,Poll 字段是一个包含了数据每个 poll 选择框。...如果你在窗口中添加了一 poll 并点击了 “Save” 按钮, Django 会将 poll 保存数据并且动态添加为你正在查看 “Add choice” 表单 已选择项。

2.5K40

Django Form使用

Form 基础介绍 首先让我们先来了解下 Django Form 表单基本用法。..., view 实例化定义好 Form 类,模板中使用 {{ form }} 即可自动生成对应 form 表单内容。...,每个元素都用数据库一个字段去做存储不太现实,因为需求是一直变化。...所以表单初始化时候,也没有办法进行赋值。 解决思路如下: 表单中新开一个字段,用来存储上传后图片链接,当图片未上传时,整个 div 隐藏,当图片有值时,整个 div 展示。...、1为男、2为女,默认为0 住址,非必输 基本操作如下: 新增 可编辑 删除 demo 中分别用 ModelForm 和 Form 来实现这个功能,感兴趣添加微信,回复“form demo” 获取

2.2K20

37.Django1.11.6文档

Restaurant也是有效,只不过没有保存数据Restaurant表。...考虑一下Django Admin 站点,不同类型大量数据项需要在一个表单准备好、渲染成HTML、使用一个方便界面编辑、返回给服务器、验证并清除,然后保存或者向后继续处理。...当我们实例化表单时,我们可以选择让它为空还是预先填充它,例如使用: 来自一个保存模型实例数据(例如用于编辑管理表单) 我们从其它地方获得数据 从前面一个HTML 表单提交过来数据 获取HTML...如果给定实例数据绑定数据没有更改,那么实例将不会保存数据库,并且不会包含在返回值(在上面的示例为instances)。...如果你希望JSON 格式会话存储更高级数据类型比如request.session 和 datetime,你需要编写一个自定义序列化器(或者保存它们到Decimal之前转换这些值到一个JSON

24.3K80

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

这个实参让Django创建一个表单,并使用既有条目对象信息填充它。 用户将看到既有的数据,并能够编辑它们。...处理POST请求时,我们传递实参instance=entry和data=request.POST(见3),让Django根 据既有条目对象创建一个表单实例,并根据request.POST相关数据对其进行修改...我们将提交按钮命名为save changes,以提醒用户:单击该按钮将保存所做编辑,而不是创建一个新条目(见2)。 4....鉴于 我们没有编写自己视图函数,我们传递了一个字典,告诉Django去哪里查找我们将编写模板。 这个模板包含在应用程序users而不是learning_logs。 1....如果表单errors属性被设置,我们就显示一条错误消息(见1),指出输入用户名—密码 对与数据存储任何用户名—密码对都不匹配。

8410

Django 1.10文文档-第一个应用Part7-自定义管理站点

并且字段数据很多时,还可以将表单分割成多个字段集合: # polls/admin.py from django.contrib import admin from .models import Question...在这个表单,Question字段是一个select选择框,包含了当前数据库中所有的Question实例。Djangoadmin站点中,自动地将所有的外键关系展示为一个select框。...点击它,会弹出一个新增Question表单,类似Question自己添加表单。填入相关信息点击保存后,Django自动将该Question保存数据库,并作为当前Choice关联外键对象。...你search_fields中使用任意数量字段,但由于它在后台使用LIKE进行查询,尽量不要添加太多字段,不然会降低数据库查询能力。 修改列表自带分页功能,默认每页展示100条数据。...实际项目中,您可以使用django.contrib.admin.AdminSite。siteheader属性更容易实现这个特殊定制。

3.6K60

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

使用基于类视图处理表单 表单处理通常有3 个步骤: 初始GET (空白或预填充表单) 带有非法数据POST(通常重新显示表单和错误信息) 带有合法数据POST(处理数据并重定向) 你自己实现这些功能经常导致许多重复样本代码...(参见视图中使用表单)。...除非你用另外一种方式定义表单类,该属性是必须,如果没有将引发一个ImproperlyConfigured 异常。...Changed in Django 1.8: 省略fields 属性以前是允许,但是导致表单带有模型所有字段。...在这个视图中,请确保你没有将created_by 包含进要编辑字段列表,并覆盖form_valid() 来添加这个用户: #views.py from django.views.generic.edit

1.8K20

Admin站点

AppConfig.verbose_name 属性用于设置该应用直观可读名字,此名字Django提供Admin管理站点中会显示, 注册模型类 登录后台管理后,默认没有我们创建应用定义模型类...列表页中点击"增加"可以进入增加页,Django会根据模型类不同,生成不同表单控件,按提示填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。 ?...search_fields = ['hname'] 2)浏览器刷新效果如下图: ? 调整编辑页展示 a. 显示字段 属性如下: fields=[] ?...关联对象 一对多关系,可以一端编辑页面编辑多端对象,嵌入多端对象方式包括表格、块两种。 类型InlineModelAdmin:表示模型编辑页面嵌入关联模型编辑。...选择一张图片并保存后,图片会被保存在static_files/media/booktest/目录下。 在数据,我们能看到image字段被设置为图片路径 ?

2.1K20

Django框架开发016期 数据更新,用户信息更新页面开发

django orm开发主要目的是为了能够尽可能少通过sql语句操作数据库,这样就可以使得没有学习过数据朋友也能够开发一个自己动态网站。...但是,我个人在使用过程,还是推荐需要提前掌握好数据库基础知识。 您可以去学习刘金玉《零基础数据库教程》,这样可以更清晰地理解django程序数据增删改查。...1)修改用户信息列表页面,最后添加功能操作列,可以用来点击后编辑用户。 2)添加路由,获取指定用户数据编辑表单,获取数据通过视图页面开发。...当我们点击“编辑”页面上“更新”按钮后,当前更新数据会传递到表单对应数据更新保存路由,对应form标签action属性实际路由url是/saveuser/{{currentUser.userID...最后将“编辑”页面通过form表单POST过来所有数据利用requestPOST字典接收并保存到查询出来用户相应字段,最后通过save方法保存数据库即可。

7610

Django model 层之Models与Mysql数据库小结

打开项目根目录下,与项目同名目录,编辑settings.py(例mysite/mysite/settings.py文件), 找到以下代码 DATABASES = { 'default': { ……...参考链接: https://docs.djangoproject.com/en/1.11/ref/settings/#databases 建立表 编辑应用目录下models.py文件(例为 mysite...该field对应默认表单组件:当设置localize为False,则对应NumberInput,否则TextInput。 ImageField 继承了FileField所有属性和方法。...null 是针对数据库而言,如果 null=True, 表示数据该字段可以为空,那么新建一个model对象时候是不会报错!!...,将被存储在数据,第二个元素用于默认表单组件展示 例: from django.db import models class Person(models.Model): SHIRT_SIZES

2.2K20

Django 3.1 官网学习路线

OK migrate 命令获取所有还没有应用迁移(Django 跟踪哪些迁移是使用数据名为 django_migrations 特殊表应用),并在数据库上运行它们——本质上,就是将您对模型所做更改与数据模式同步...页面的底部提供了几个选项: 保存-保存更改并返回此类型对象更改列表页。 保存并继续编辑——保存更改并重新加载此对象管理页面。 保存并添加另一个——保存更改并为这种类型对象加载一个新空白表单。...通常,您需要定制管理表单外观和工作方式。可以通过注册对象时告诉 Django 所需选项来实现。 通过重新排列编辑表单字段来了解其工作原理。...“添加选择”表单如下所示: 表单,“Question”字段是一个选择框,包含数据每个问题。Django 知道一个外键应该在管理中表示为一个框。我们例子,目前只存在一个问题。...如果在该窗口中添加一个问题并单击“Save”,Django 会将该问题保存数据,并在您正在查看“add choice”表单动态地将其添加为选中选项。

8.1K10

django入门:Admin管理系统及表单(干货)

这一部分将介绍 django 自带后台管理系统,以及如何通过表单提交数据 django admin 后台管理系统 在后台管理系统注册创建模型 from django.contrib import admin...list_editable = ['title', 'author'] # 排除一些不想被编辑 fields, 没有列表不可被编辑 fields = ('title...时候才需要处理表单数据 if request.method = 'POST': # 用户提交信息存在 request.POST ,相当于一个字典取值 form...提交表单错误 不存在对应模型(POST 方式) 1. forms.py 创建表单 # 假设有个信息反馈表单 class ContractForm(forms.Form): subject...提交反馈错误 类似搜索表单(GET) 1.创建表单视图 def search(request): # 获取到用户提交搜索关键词,字典键值同模版 name 属性值 q = request.GET.get

2.8K20
领券