直接上代码

视图:

 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. 机器学习(二)-kNN手写数字识别

    一.kNN算法是机器学习的入门算法,其中不涉及训练,主要思想是计算待测点和参照点的距离,选取距离较近的参照点的类别作为待测点的的类别. 1,距离可以是欧式距离,夹角余弦距离等等. 2,k值不能选择太大 ...

  2. pyqt5实现注册界面

    __author__ = 'sign_in' import sys from PyQt5.QtGui import QPixmap from PyQt5.QtWidgets import * clas ...

  3. lua 函数调用1 -- 闭包详解和C调用

    这里, 简单的记录一下lua中闭包的知识和C闭包调用 前提知识: 在lua api小记2中已经分析了lua中值的结构, 是一个 TValue{value, tt}组合, 如果有疑问, 可以去看一下 一 ...

  4. 《java.util.concurrent 包源码阅读》27 Phaser 第一部分

    Phaser是JDK7新添加的线程同步辅助类,作用同CyclicBarrier,CountDownLatch类似,但是使用起来更加灵活: 1. Parties是动态的. 2. Phaser支持树状结构 ...

  5. 通用Adapter设计,SparseArray+泛型+回调的使用

    看到题目,我相信聪明的各位已经有一定想法了. 一个Adapter,最简单的优化就是使用泛型,他可以省去非常多的代码,不过在此之上,我们还可以继续优化,优化他的好基友是:ViewHolder. 在过去, ...

  6. 查看Page结构

    SQL Server存储数据的基本单元是Page,每一个Page的大小是8KB,数据文件是由Page构成的.在同一个数据库上,每一个Page都有一个唯一的资源标识,标识符由三部分组成:db_id,fi ...

  7. Android - "cause failed to find target android-14" 问题

    在导入别人的工程项目时经常会遇到各种问题,本文中的就是其中SDK不对导致的   在导入项目时已经修改了 两个build.gradle文件 错误的原因是后面中这两项没修改. compileSdkVers ...

  8. #openstack故障处理汇总

    ##openstack故障处理汇总 排错 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ############# ...

  9. codeforces 893D Credit Card 贪心 思维

    codeforces 893D Credit Card 题目大意: 有一张信用卡可以使用,每天白天都可以去给卡充钱.到了晚上,进入银行对卡的操作时间,操作有三种: 1.\(a_i>0\) 银行会 ...

  10. codeforces #446 892A Greed 892B Wrath 892C Pride 891B Gluttony

    A  链接:http://codeforces.com/problemset/problem/892/A 签到 #include <iostream> #include <algor ...