直接上代码

视图:

 from django.shortcuts import render,render_to_response, redirect
from submit import models # Create your views here. def submit(request):
if request.method == "POST":
username = request.POST.get("username", None)
password = request.POST.get("password", None)
models.UserInfo.objects.create(username=username, password=password)
user_list = models.UserInfo.objects.all()
return render(request, "submit.html", {"data": user_list}) def search(request):
#if request.method == "POST":
username = request.GET.get("username", None)
results = models.UserInfo.objects.filter(username__icontains=username) return render(request, "search.html", {"result": results}) def delete(request):
if request.method == "GET":
nid = request.GET.get("id")
models.UserInfo.objects.filter(id=nid).delete()
return render(request, "submit.html") def edit(request):
if request.method == "GET":
id = request.GET.get("id", None)
username = request.GET.get("username", None)
password = request.GET.get("password", None)
models.UserInfo.objects.filter(id=id).delete()
return render(request, "edit.html", {"username": username, "password": password})

数据库设计

 from django.db import models

 # Create your models here.

 class UserInfo(models.Model):
username = models.CharField(max_length="")
password = models.CharField(max_length="")

模板

submit.html

 <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>添加数据</h1>
<form action="/submit/" method="post">
<input type="text" name="username"/>
<input type="password" name="password"/>
<input type="submit" value="提交"/> </form>
<h1>查询数据</h1>
<h1>请输入用户名</h1>
<form action="/search/" method="get">
<input type="text" name="username"/>
<input type="submit" value="查询"/>
</form>
<h1>输出数据</h1>
<form action="/submit/" method="get">
<table border="">
<thead>
<td>ID</td>
<td>用户名</td>
<td>密码</td>
<td>操作</td>
{% for line in data %}
<tr>
<td>{{ line.id }}</td>
<td>{{ line.username }}</td>
<td>{{ line.password }}</td>
<td> <a href="/edit?id={{ line.id }}&username={{ line.username }}&password={{ line.password }}">编辑</a>
<a href="/delete?id={{ line.id }}">删除</a>
</td>
</tr>
{% endfor %}
</body>
</html>

submit.html

edit.html

 <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>edit</h1>
<form action="/submit/" method="post"> <h6>用户名</h6><input type="text" name="username" value={{ username }}>
<br/>
<h6>密码</h6><input type="text" name="password" value={{ password }}>
<br/>
<input type="submit" value=" 确认修改"/> </form>
</body>
</html>

edit.html

search.html
 <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>请输入用户名</h1>
<form action="/search/" method="post">
<input type="text" name="username"/>
<input type="submit" value="查询"/>
</form>
<h1>查询结果</h1>
<form action="/search/" method="get">
<table border="">
<thead>
<td>ID</td>
<td>用户名</td>
<td>密码</td>
<td>操作</td>
{% for rts in result %}
<tr>
<td>{{ rts.id }}</td>
<td>{{ rts.username }}</td>
<td>{{ rts.password }}</td>
<td> <a href="/edit?id={{ rts.id }}&username={{ rts.username }}&password={{ rts.password }}">编辑</a>
<a href="/delete?id={{ rts.id }}">删除</a>
</td>
</tr>
{% endfor %}
</thead>
</table>
</form>
</body>
</html>

search.html

路由:

url.py

前台页面

Django实战,小网站实现增删改查的更多相关文章

  1. Django 自带的ORM增删改查

     通过Django来对数据库进行增删改查 1 首先创建类,在app应用程序里面的model模块里面创建类,写好数据库信息,方便我们待会初始化: 2 创建在django项目里面的settings里面添加 ...

  2. 基于renren-fast的快速入门项目实战(实现报表增删改查)

    基于renren-fast的快速入门项目实战(实现报表增删改查) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 官方开发文档需付费,对于新手而言 ...

  3. Django 文件配置、pycharm及django连接数据库、表的增删改查 总结

    静态文件配置 1.你在浏览器中输入网址能够有响应的资源返回给你 是因为后端已经提前给你开设该资源的接口,也就意味着你所能 访问到的资源 都是人家事先定义好的 2.django如何给用户开设资源接口呢? ...

  4. Django中多表的增删改查操作及聚合查询、F、Q查询

    一.创建表 创建四个表:书籍,出版社,作者,作者详细信息 四个表之间关系:书籍和作者多对多,作者和作者详细信息一对一,出版社和书籍一对多 创建一对一的关系:OneToOne("要绑定关系的表 ...

  5. Django之model基础(增删改查)

    一.ORM 映射关系 表名 <-------> 类名 字段 <-------> 属性 表记录 <------->类实例对象二.创建表(建立模型) 在创建表之前的准备 ...

  6. Django REST framework 五种增删改查方法

    Django-DRF-视图的演变   版本一(基于类视图APIView类) views.py: APIView是继承的Django View视图的. 1 from .serializers impor ...

  7. MyBatis初级实战之二:增删改查

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. django中对数据库的增删改查

    Django的配置文件时settings.py中的 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplate ...

  9. Django 强大的ORM之增删改查

    Django orm         Django——orm进阶 测试Django中的orm 表结构: models.py class User(models.Model): name = model ...

随机推荐

  1. ButterKnife的使用以及不能自动生成代码问题的解决

    ButterKnife的使用以及不能自动生成代码问题的解决 转载请注明出处:http://www.cnblogs.com/zhengjunfei/p/5910497.html 最近换了个工作刚入职,又 ...

  2. jenkins~管道Pipeline的使用,再见jenkinsUI

    Pipeline在Jenkins里的作用 最近一直在使用jenkins进行自动化部署的工作,开始觉得很爽,省去了很多重复的工作,它帮助我自动拉服务器的代码,自动还原包包,自动编译项目,自动发布项目,自 ...

  3. TQ2440在Ubuntu16.04上如何搭建DNW烧写环境

    八月份国赛比完,原计划开始的嵌入式Linux学习一直拖到了现在:由于之前所有的开发全在Windows下进行的,对各种底层完全不清楚,刚好这段时间开始学习Linux,我就在想能不能把开发环境给迁移到Li ...

  4. js中this的意义

    随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是,调用函数的那个对象.

  5. Spring4 JDBC详解

    Spring4 JDBC详解 在之前的Spring4 IOC详解 的文章中,并没有介绍使用外部属性的知识点.现在利用配置c3p0连接池的契机来一起学习.本章内容主要有两个部分:配置c3p0(重点)和 ...

  6. javascript执行机制

    文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我. 不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的 ...

  7. win10下安装java jdk,tomcat

    1.安装java jdk 去官网下载java jdk(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21 ...

  8. J Query库

    J Query库 J Query选择器:与CSS选择器完全一致 J Query语法: (1)美元符定义J Query (2)选择符查询和HTML元素 (3)J Query带action方法执行对元素带 ...

  9. Ubuntu下编译Bilibili/ijkplayer

    在做Android客户端视频播放器的过程中熟悉ijkplayer.他在视频支持协议上要比Android原生的mediaplayer做的要好.因此,自己也基于Bilibili/ijkplayer的重新编 ...

  10. Codeforces 890C - Petya and Catacombs 模拟

    C. Petya and Catacombstime limit per test1 secondmemory limit per test256 megabytesinputstandard inp ...