前后台交互实例二:前台通过django在数据库里面增删改查数据
url(r'^userinfo/', views.userinfo),
url(r'^userdetail-(?P<nid>\d+)/', views.userdetail),
url(r'^userdel-(?P<nid>\d+)/', views.userdel),
url(r'^useredit-(?P<nid>\d+)/', views.user_edit),
views
def userinfo(request):
if request.method =="GET":
user_list=models.UserInfo.objects.all()
return render(request,'userinfo.html',{'user_list':user_list})
elif request.method == "POST":
u = request.POST.get('user')
p = request.POST.get('pwd')
models.UserInfo.objects.create(username=u,password=p)
return redirect('/CC/userinfo/') def userdetail(request,nid):
obj=models.UserInfo.objects.filter(id=nid).first()
return render(request,'userdetail.html',{'obj':obj}) def userdel(request,nid):
models.UserInfo.objects.filter(id=nid).delete()
return redirect('/CC/userinfo/') def user_edit(request, nid):
if request.method == "GET":
obj = models.UserInfo.objects.filter(id=nid).first()
return render(request, 'user_edit.html',{'obj': obj})
elif request.method == "POST":
nid = request.POST.get('id')
u = request.POST.get('username')
p = request.POST.get('password')
models.UserInfo.objects.filter(id=nid).update(username=u,password=p)
return redirect('/CC/userinfo/')
model.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals from django.db import models # Create your models here.
class UserInfo(models.Model):
username=models.CharField(max_length=32)
password=models.CharField(max_length=64) class zte(models.Model):
id=models.AutoField(primary_key=True) #主键,自增
username=models.CharField(max_length=32)
password=models.CharField(max_length=64)
email=models.CharField(max_length=64,null=True)
userinfo.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{
margin: 0;
}
.menu{
display: block;
padding: 5px;
}
</style>
</head>
<body>
<div style="height: 48px;background-color: black;color: white">
---------------------------------------
</div>
<div>
<div style="position: absolute;top:48px;bottom: 0;left: 0;width: 200px;background-color: brown;">
<a class="menu" href="/CC/userinfo/">用户管理</a>
<a class="menu" href="/CC/usergroup/">用户组管理</a>
</div>
<div style="position:absolute;top:48px;left: 210px;bottom: 0;right: 0;overflow: auto"> <h3>添加用户</h3>
<form method="POST" action="/CC/userinfo/">
<input type="text" name="user" />
<input type="text" name="pwd" />
<input type="submit" value="添加"/>
</form> <h3>用户列表</h3>
<ul>
{% for row in user_list %}
<li>
<a href="/CC/userdetail-{{ row.id }}/">{{ row.username }}</a> |
<a href="/CC/userdel-{{ row.id }}/">删除</a> |
<a href="/CC/useredit-{{ row.id }}/">编辑</a>
</li>
{% endfor %}
</ul> </div> </div> </body>
</html>
useredit.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{
margin: 0;
}
.menu{
display: block;
padding: 5px; }
</style>
</head>
<body>
<div style="height: 48px;background-color: black;color: white">
11111111111111111
</div>
<div>
<div style="position: absolute;top:48px;bottom: 0;left: 0;width: 200px;background-color: brown;">
<a class="menu" href="/CC/userinfo/">用户管理</a>
<a class="menu" href="/CC/usergroup/">用户组管理</a>
</div>
<div style="position:absolute;top:48px;left: 210px;bottom: 0;right: 0;overflow: auto"> <h1>编辑用户</h1>
<form method="post" action="/CC/useredit-{{ obj.id }}/">
<input style="display: none" type="text" name="id" value="{{ obj.id }}" />
<input type="text" name="username" value="{{ obj.username }}" />
<input type="text" name="password" value="{{ obj.password }}"/>
<input type="submit" value="提交" />
</form> </div> </div> </body>
</html>
userdetail.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{
margin: 0;
}
.menu{
display: block;
padding: 5px; }
</style>
</head>
<body>
<div style="height: 48px;background-color: black;color: white">
3333333333333333333333333333333
</div>
<div>
<div style="position: absolute;top:48px;bottom: 0;left: 0;width: 200px;background-color: brown;">
<a class="menu" href="/CC/userinfo/">用户管理</a>
<a class="menu" href="/CC/usergroup/">用户组管理</a>
</div>
<div style="position:absolute;top:48px;left: 210px;bottom: 0;right: 0;overflow: auto"> <h1>用户详细信息</h1> <h5>{{ obj.id }}</h5>
<h5>{{ obj.name }}</h5>
<h5>{{ obj.password }}</h5> </div> </div> </body>
</html>
前后台交互实例二:前台通过django在数据库里面增删改查数据的更多相关文章
- 创建pandas和sqlalchemy的j交互对象,方便于日常的数据库的增删改查(原创)
		
#导入第三方库sqlalchemy的数据库引擎 from sqlalchemy import create_engine #导入科学计算库 import pandas as pd #导入绘图库 imp ...
 - Django中数据库的增删改查
		
本随笔使用的是pycharm专业版2019.1.3.Django==1.9.8.Python2.7 这里的Django后台使用了ORM(Object Relational Mapping),全称对象关 ...
 - Django基础学习四_数据库的增删改查
		
今天主要学习两个东西 1.如何对数据库做增删改查 2.如果将数据库中的数据用html的方式返回到前台 一.对数据库中增删改查操作 1.首先需要先见表,见表的方法我们在“http://www.cnblo ...
 - MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存
		
目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...
 - MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
		
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
 - django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面
		
1.为test.DB数据库预先创建下面数据 1 张三 16 2015-01-02 12 李四 17 2015-01-04 13 王五 14 ...
 - python链接oracle数据库以及数据库的增删改查实例
		
初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...
 - java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)
		
1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...
 - Django数据库操作(增删改查)
		
Django数据库操作(增删改查) 创建数据库中的一个表 class Business(models.Model): #自动创建ID列 caption = models.CharField(max_l ...
 
随机推荐
- [洛谷P4823] TJOI2013 拯救小矮人
			
问题描述 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口. 对于每一个小矮人,我们知道他从 ...
 - AC自动机再加强版
			
AC自动机 拓扑排序优化,注意拓扑排序前要把所有入度为零的点都加进去 #include<bits/stdc++.h> using namespace std; #define maxn 1 ...
 - Vue中的MVVM框架
			
ViewModel:数据双向绑定 场景: 针对具有复杂交互逻辑的前段应用 提供基础的架构抽象 通过Ajax数据持久化,保证前端用户体验 什么是vue.js? 是一个轻量级的mvvm框架 数据驱动+组 ...
 - LDAP常见错误码
			
LDAP_SUCCESS = 0 //成功 LDAP_OPERATIONS_ERROR = 1 //操作错误 LDAP_PROTOCOL_ERROR = 2 //协议错误 LDAP_TIME_LIMI ...
 - React Native商城项目实战08 - 设置“More”界面cell
			
1.自定义可复用的cell More/CommonCell.js: /** * 自定义可复用的cell */ import React, { Component } from 'react'; imp ...
 - React-Native 之 GD (十六)首页筛选功能
			
1.首页筛选功能 GDCommunalSiftMenu.js /** * 筛选菜单 */ import React, { Component, PropTypes } from 'react'; im ...
 - Ueditor1.4.4 Jsp版本视频上传成功,重新编辑时无法打开、在文本框内无法显示、html源码显示src为空
			
1. 编辑 ueditor.config.js 第355行 将 whitList 改为 whiteList 2.编辑ueditor.all.js 注释掉7343.7344.7345行代码,即: var ...
 - 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_11_练习:集合元素处理(Stream方式)
 - Nginx-Lua模块的执行顺序(转)
			
一.nginx执行步骤 nginx在处理每一个用户请求时,都是按照若干个不同的阶段依次处理的,与配置文件上的顺序没有关系,详细内容可以阅读<深入理解nginx:模块开发与架构解析>这本书, ...
 - 查看linux显卡序列
			
1 lspci -vnn | grep VGA -A 12会输出显卡的硬件信息,第一行的第二个[]内是显卡的序列号2 在网站http://pci-ids.ucw.cz/read/PC/ 下方输入序列号 ...