直接上代码

视图:

 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. JavaScript数据可视化编程学习(二)Flotr2,雷达图

    一.雷达图 使用雷达图显示多维数据. 如果你有多维的数据要展示,那么雷达图就是一种非常有效的可视化方法. 由于雷达图不常用,比较陌生,所以向用户解释的时候有一些难度.注意使用雷达图会增加用户认知负担. ...

  2. JS规范2

    百度SS Javascript编码规范 1.变量.方法命名必须匹配正则:/^[$_a-zA-Z]\w*$/ /** * 虽然Javascript引擎支持多种格式命名的变量, * 比如下面这样的变量,J ...

  3. 通过hadoop + hive搭建离线式的分析系统之快速搭建一览

    最近有个需求,需要整合所有店铺的数据做一个离线式分析系统,曾经都是按照店铺分库分表来给各自商家通过highchart多维度展示自家的店铺经营 数据,我们知道这是一个以店铺为维度的切分数据,非常适合目前 ...

  4. vue-router在ie9及以下history模式支持

    参考: https://www.npmjs.com/package/vue-route https://github.com/devote/HTML5-History-API 提要: ie9及以下不支 ...

  5. SpringMVC 快速入门

    SpringMVC 快速入门 SpringMVC 简介 SpringMVC是 Spring为展示层提供的基于Web MVC设计模式的请求驱动类型的轻量级Web框架,它的功能和Struts2一样.但比S ...

  6. 《java.util.concurrent 包源码阅读》21 CyclicBarrier和CountDownLatch

    CyclicBarrier是一个用于线程同步的辅助类,它允许一组线程等待彼此,直到所有线程都到达集合点,然后执行某个设定的任务. 现实中有个很好的例子来形容:几个人约定了某个地方集中,然后一起出发去旅 ...

  7. Activity讲解

    Activity Activity 是 Android 应用的重要组成单元之一(另外三个是 Service.BroadcastReceiver 和 ContentProvider),而 Activit ...

  8. Elasticsearch中Head插件的使用

    在学习Elasticsearch的过程中,必不可少需要通过一些工具查看es的运行状态以及数据.如果都是通过rest请求,未免太过麻烦,而且也不够人性化.此时,head可以完美的帮助你快速学习和使用El ...

  9. codeup模拟赛 进击的二叉查找数

    问题 B: 进击的二叉查找树 时间限制: 1 Sec 内存限制: 64 MB 提交: 1017 解决: 379 提交状态 题目描述 给定1~N的两个排列,使用这两个排列分别构建两棵二叉查找树(也就是通 ...

  10. yum中$releasever、 $basearch等变量含义

    [root@kickstart ~]# rpm -qf /etc/redhat-release centos-release--4.1708.el7.centos.x86_64 yum中的$relea ...