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, 用于从数 ...
随机推荐
- Flink中的算子操作
一.Connect DataStream,DataStream -> ConnectedStream,连接两个保持他们类型的数据流,两个数据流被Connect之后,只是被放在了同一个流中,内部 ...
- 并发编程之:ThreadLocal
大家好,我是小黑,一个在互联网苟且偷生的农民工. 从前上一期[并发编程之:synchronized] 我们学到要保证在并发情况下对于共享资源的安全访问,就需要用到锁. 但是,加锁通常情况下会让运行效率 ...
- java 接口代理
接口 public interface Cc { void say(); } 实现类: public class C implements Cc{ @Override public void say( ...
- mybatis插值,数据提交事务回滚数据库值为空
mybatis插值,数据提交事务回滚数据库值为空 通过sql日志查看sql为:INSERT INTO `quanxian`.`user` ( phone, email, password, times ...
- windows下mysql5.7.17配置
1.官网下载mysql5.7.17 64位 https://dev.mysql.com/downloads/mysql/ 2.安装完解压到E盘主目录下,改文件名为mysql 3.配置环境变量 我的电脑 ...
- 整理之Service
Service 基础 一个Service的基本结构 class MyService : Service() { private val mBinder = MyBinder() override fu ...
- 【Elasticsearch】.NetCore中Elasticsearch组件NEST的使用
.NetCore中Elasticsearch组件NEST的使用 1. 安装Docker # 安装Docker curl -fsSL https://get.docker.com | bash -s d ...
- 安装redis 6.0.6
1.规划目录:下载目录.安装目录.redis数据目录mkdir -p /data/appmkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}mk ...
- 计算机网络-TCP篇
TCP篇 之前的总结文章:TCP简单版本介绍-三次握手等 基本认识 TCP 是⾯向连接的(⼀定是「⼀对⼀」才能连接).可靠的.基于字节流的传输层通信协议. RFC 793 是如何定义「连接」的:⽤于保 ...
- go案例:客户管理系统流程 mvc模式 分层设计
下面是一个简要的客服系统,主要是演示分层计.. model : 数据部份: package model import "fmt" //声明一个结构体,表示一个客户信息 type C ...