Django对表单进行增删改查
查
首先在url中写好路径

其次在后面参数的views里写函数类xxxxxxx的基本逻辑

定义一个函数xxxxxxx,继承request,注意这个request对数据库操作结果都会存放在request中
将Publisher类中的所有属性列出来,赋值给all_publishers
返回一个页面xxxxxxx.html,该页面里会将all_publishers展示出来
xxxxxxx.html页面如下

此页面根据数据库表来设计页面展示情况,特别注意的是,由于数据的以后会更多,不可能一一添加,使用模板语言for i in all_publishers(之前获取到的所有数据),将所有数据存放在i变量中
然后根据字段,分别以i.字段的形式循环展示出来,即可。
增
urls.py如下图所示

和上面一样,在view里面设置相应函数,在函数里面设立逻辑

首先在思路方面,首先考虑是否有请求方式的分类
get请求,用户会在点击添加按钮后,应跳转至一个新的页面add页面
post请求,用户在新的add页面添加是,会输入要添加的名称,然后点击提交按钮,添加的数据值会在数据库中name列添加相应的数据,然后返回publisher_list页面
相对应的模板html页

该表基本逻辑是当你点击添加时,会出现一个新的页面,该页面含有一个form表单,页面显示给用户一个图书出版社的添加相关页面。
删
urls.py

views.py

该逻辑和后面编辑(改)的逻辑相似,首先分析,我要删除一个数据,首先要让后台知道,我要删除那条信息
views.py第二行代码中获取我要删除的数据,GET到我要删除那条数据的pk(主键也就是ID),获取记录,然后在数据库中找到这条记录然后删除、
最后删除后继续重定向到列表页
改
urls.py

views.py

逻辑分析:在列表中对一个数据进行修改,首先明白以下流程:
html中添加编辑按钮后,点击编辑按钮后,会出现一个新的页面,新的页面就是编辑页。里面有一个form表单,表示对数据进行编辑,需要注意的是编辑框中需要包含原来的数据,在用户进行修改后,会将该数据在数据库中进行修改并且保存,最后返回列表页
逻辑清楚后开始完成,首先要获取你要删除那条数据,然后将你的操作记录下来在数据库里找到这条数据()
1如果是GET请求,返回一个包含原来数据的form表单页。
2,在post请求中,找到用户提交的数据,将获取到的数据在数据库中修改相应的名字,不要忘了修改后要对数据库进行保存,最后返回list页面。
Django对表单进行增删改查的更多相关文章
- Django框架(八)--单表增删改查,在Python脚本中调用Django环境
一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的setting中进行配置: 将DATABASES={} 更新为 DA ...
- Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境
目录 单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 二.orm创建表和字段 三.单表增删改查 1.增加数据 2.删除数据 3.修改数据 4.查询数据 四.在Python脚 ...
- django-orm框架表单的增删改查
08.14自我总结 django-orm框架 一.orm基本配置 1.创建django项目 命令行:cmd先去到django创建目录,然后输入django-admin startproject dja ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- vue.js带复选框表单的增删改查
近段时间由于公司项目要求,前端开始使用VUE框架进行开发,最近刚开始学习,做了一个表单的增删改查,和大家分享一下. 页面模型代码设计如下 <template> <div id=&qu ...
- Mysql入门-对表数据的增删改查
这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mysql的时候, ...
- $Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期
1 orm介绍 ORM是什么 ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM. 一 ...
- Django ORM基本的单表增删改查
创建表 步骤: 1.app下models.py里创建类(继承models.Model) from django.db import models class UserInfo(models.Model ...
- Python学习---django之ORM的增删改查180125
模型常用的字段类型参数 <1> CharField #字符串字段, 用于较短的字符串. #CharField 要求必须有一个参数 maxlength, 用于从数 ...
随机推荐
- 测试Kaggle kernel commit 是否会删除以前的output
在kaggle上创建kernel,加入如下代码. 连续运行两次,可以看到保存的文件名字不一样,且无论运行错少次,都只有一个输出文件. 这说明,kaggle上的kernel每次commit运行,都会清空 ...
- BUU-CTF[CISCN2019 华东南赛区]Web11
BUU-CTF[CISCN2019 华东南赛区]Web11 页面最下端有提示Build with Smarty ! 确定页面使用的是Smarty模板引擎.输入{$smarty.version}就可以看 ...
- 设置 ajax 同步获取数据
问题 在处理DataTable的render进行列表渲染的时候发现通过ajax发送请求,返回的值并不正确. {"data":"id","render& ...
- Django使用tinymce富文本编辑器
1 - 安装 pip install django-tinymce==2.6.0 2 - 注册app INSTALLED_APPS = ( ... 'tinymce', ) 3 - 在setting中 ...
- kali linux 的基本命令
Kali Linux 命令集 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统 ...
- C# Collection
数组与集合不同的适用范围: 数组:数组最适用于创建和使用固定数量的强类型化对象. 集合:集合提供更灵活的方式来使用对象组. 与数组不同,你使用的对象组随着应用程序更改的需要动态地放大和缩小. 对于某些 ...
- jupyter notebook在代码块中多行注释方法
Ctrl+\是pycharm等IDE内的使用方法,而不是jupyter中的,正确的方法如下: 按住alt后光标变为十字形,沿着行标向下拖,光标变得很长,这时 shift+3 即可注释多行 想要取消注释 ...
- 生产环境部署高可用Rancher
环境准备: IP hostname role 192.168.200.150 nginx LB 192.168.200.151 master01-151 docker-ce/rke/helm/kube ...
- File Upload(文件上传)
一句话木马 <?php @eval($_POST['key']); ?> /*eval(phpcode) eval() 函数把字符串按照 PHP 代码来计算. 该字符串必须是合法的 PHP ...
- java.lang.NullPointerException: Attempt to invoke virtual method 'int com.example.xxx.Json.NewsBean.getError_code()' on a null object reference错误解决
AS在运行的过程中出现了错误: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.example.xx ...