<1> 整个后台页面布局项目基于python的Django框架进行开发

①实现用户登录

②实现用户对自己数据的增删改查

(1)在app cmdb的models.py下创建用户数据表:用户表Userinfo ,职位表:UserGroup

models.py

from django.db import models# Create your models here.# 在mysql数据库中创建cmdb_userinfo的表
class Userinfo(models.Model):username=models.CharField(max_length=32)password=models.CharField(max_length=64)user_group=models.ForeignKey("UserGroup",to_field="uid",on_delete=models.CASCADE,null=True)    #设置外键  把UserGroup的id作为外键  on_delete=models.CASCADE 外键删除也自动删除class UserGroup(models.Model):uid=models.AutoField(primary_key=True)   #设置为主键position=models.CharField(max_length=32)date=models.DateTimeField(auto_now_add=True,null=True)

 视图函数views.py 代码编写:

from django.shortcuts import render
from django.shortcuts import HttpResponse
from django.shortcuts import redirect
import os
from django.core.files.uploadedfile import InMemoryUploadedFile
# Create your views here.#FBV模式
def login(request):# request里包含了用户提交的所有信息error_mag=""# 获取用户提交的方法if request.method=='POST':# 获取登陆界面用户输入的值username=request.POST.get('user',None)password=request.POST.get('pwd',None)print(username,password)if username=='shikai' and password=='123':# 如果用户名密码正确 重新跳转到新网址return render(request,'index.html')else:error_mag="用户名或密码错误"# render 打开和读取login.html文件内容return render(request,'login.html',{"error_mag":error_mag})   #读取login.HTML里的内容   把error_mag添加到login.html中相应位置def detail(request):     #查看用户名信息if request.method == "GET":#从数据库取出信息发送用户obj=models.Userinfo.objects.all()grou_list=models.UserGroup.objects.all()return render(request,'detail.html',{"obj":obj,"grou_list":grou_list})   #把obj值传到detail模板页面# 新增用户  并把数据添加到数据库  返回给用户elif request.method == "POST":u = request.POST.get("username")p = request.POST.get("password")models.Userinfo.objects.create(username=u,password=p)     #添加到用户到数据库return redirect("/cmdb/detail/")       #添加到页面def user_detail(request,nid):     ##查看用户具体信息if request.method=="GET":#从数据库取出信息发送用户obj=models.Userinfo.objects.filter(id=nid).first()return render(request, 'user_detail.html', {"obj":obj})   #把obj值传到detail模板页面
def user_del(request,nid):  #删除用户models.Userinfo.objects.filter(id=nid).delete()return redirect("/cmdb/detail/")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":u=request.POST.get("username")      #拿到提交的数据p=request.POST.get("password")models.Userinfo.objects.filter(id=nid).update(username=u,password=p)return redirect("/cmdb/detail/")

视图函数编写

url配置

urlpatterns = [path('login/', views.login),      #    #在地址后面加上admin/ 即可实现admin.site.url的功能path('dict/', views.dict),      ##path('login/', views.login.as_view()),    #CBV 模式path('addfile/', views.addfile),path('orm/', views.orm),path('detail/', views.detail),re_path(r'^user_detail-(?P<nid>\d+)/', views.user_detail),re_path(r'^user_del-(?P<nid>\d+)/', views.user_del),re_path(r'^user_edit-(?P<nid>\d+)/', views.user_edit),
]

HTML模板

login页:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="/static/common.css"><style>label{width: 80px;text-align: right;display: inline-block;}</style></head>
<body>
{#action="/login"  中/login为url#}<form action="/cmdb/login/" method="post"><p><label for="username" >用户名:</label><input type="text" id="username" name="user"></p><p>
{#            name属性里值提交到后台#}<label for="password" >密码:</label><input type="password" id="password" name="pwd"><input type="submit" value="提交"><span style="color: #FF4200">{{ error_mag}}</span></p></form></body>
</html>

View Code

index.html  导航页

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>body{margin: 0;}.header{height: 48px;background-color: cornflowerblue;color: white;}.item{position: absolute;background-color: wheat;left: 0;top: 48px;bottom: 0;width: 300px;}.content{background-color: gainsboro;position: absolute;left: 300px;top: 48px;bottom: 0;right: 0;overflow: auto;}</style>
</head>
<body><div class="header">后台管理页面</div><div class="item"><p><a href="/cmdb/detail/">用户信息</a></p><p><a href="/cmdb/detail/">用户组</a></p></div><div class="content"></div>
</body>
</html>

View Code

detail.html  全部用户页

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>body{margin: 0;}.header{height: 48px;background-color: cornflowerblue;color: white;}.item{position: absolute;background-color: wheat;left: 0;top: 48px;bottom: 0;width: 300px;}.content{background-color: gainsboro;position: absolute;left: 300px;top: 48px;bottom: 0;right: 0;overflow: auto;}.content .content_item{{#padding: 5px 20px 5px 20px;#}display: inline-block;width: 55px;}</style>
</head>
<body><div class="header">后台管理页面</div><div class="item"><p><a href="/cmdb/detail/">用户信息</a></p><p><a >用户组</a></p></div><div class="content"><h1 style="height: 100px">用户名列表</h1><form method="post" action="/cmdb/detail/"><h4>新增用户</h4><input type="text" name="username" ><input type="password" name="password"><select>{% for item in grou_list %}<option value="{{ item.uid}}">{{ item.position}}</option>{% endfor %}</select><input type="submit" value="提交"></form><ul>{% for item in obj %}<li ><a class="content_item" href="/cmdb/user_detail-{{ item.id }}/">{{ item.username }}</a>:<span class="content_item">{{ item.user_group.position }}</span><a class="content_item" href="/cmdb/user_edit-{{ item.id }}/">编辑</a><a class="content_item" href="/cmdb/user_del-{{ item.id }}/">删除</a></li>{% endfor %}</ul></div>
</body>
</html>

View Code

user_detail.html 个人用户页

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>body{margin: 0;}.header{height: 48px;background-color: cornflowerblue;color: white;}.item{position: absolute;background-color: wheat;left: 0;top: 48px;bottom: 0;width: 300px;}.content{background-color: gainsboro;position: absolute;left: 300px;top: 48px;bottom: 0;right: 0;overflow: auto;}</style>
</head>
<body><div class="header">后台管理页面</div><div class="item"><p><a href="/cmdb/detail/">用户信息</a></p><p><a >用户组</a></p></div><div class="content"><h1>用户详细信息</h1><ul><li><a >{{ obj.id }}</a></li><li><a >{{ obj.username }}</a></li><li><a >{{ obj.password }}</a></li></ul></div>
</body>
</html>

View Code

user_edit:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>body{margin: 0;}.header{height: 48px;background-color: cornflowerblue;color: white;}.item{position: absolute;background-color: wheat;left: 0;top: 48px;bottom: 0;width: 300px;}.content{background-color: gainsboro;position: absolute;left: 300px;top: 48px;bottom: 0;right: 0;overflow: auto;}</style>
</head>
<body><div class="header">后台管理页面</div><div class="item"><p><a href="/cmdb/detail/">用户信息</a></p><p><a >用户组</a></p></div><div class="content"><h1 style="height: 100px">编辑用户</h1><form method="post" action="/cmdb/user_edit-{{ obj.id }}/"><input type="text" name="username" value='{{ obj.username}}' ><input type="password" name="password" value='{{ obj.password}}'><input type="submit" value="提交"></form></div>
</body>
</html>

View Code

效果展示:

mysql数据库有登录信息:uesername:shikai    password:123

注:登录信息错误会提示红的字体

登录成功后点击用户信息即可查看全部用户

点击右面即可实现用户的增删查改

转载于:https://www.cnblogs.com/shikaishikai/p/9699076.html

二基于Django 简单后台管理页面相关推荐

  1. Django admin后台管理页面的常用设置

    Django admin后台管理页面的常用设置 选择列表选项choices # filename: models.pyfrom django.db import models# 例1 int类型:ST ...

  2. 使用SpringBoot一小时快速搭建一个简单后台管理(增删改查)(超详细教程)

    最近也是临近期末了,各种的期末大作业,后台管理也是很多地方需要用到的,为了方便大家能快速上手,快速搭建一个简单的后台管理,我花了两天时间整理了一下 我会从0开始介绍,从数据库的设计到前端页面的引入最后 ...

  3. 后台管理页面基本布局方式

    经典页面布局 简易后台管理页面布局 1 左边菜单栏固定 2 header固定高度(宽度自适应) 3 主体统计列表(宽度自适应) 代码如下 html <div class="main&q ...

  4. bootstrap搭建后台管理页面

    bootstrap搭建后台管理页面 管理页面主体包括4部分,顶部导航栏,左侧导航栏,中间正文页和底部的页脚.其中左侧和顶部使用的是bootstrap的导航和下拉菜单组件,主体页面为了演示方便,使用了i ...

  5. 登录、注册、后台管理页面(动态)

    一.作业需求: 1.后台管理主界面(左边菜单框.(全选.反选)框.返回顶部按钮) 2.老男孩登录.注册页面 二.博客地址:https://www.cnblogs.com/catepython/p/93 ...

  6. 老男孩Day16作业:登录、注册、后台管理页面(动态)

    一.作业需求:1.后台管理主界面(左边菜单框.(全选.反选)框.返回顶部按钮)2.老男孩登录.注册页面二.博客地址:https://www.cnblogs.com/catepython/p/93063 ...

  7. 微信后台管理页面html

    wx_manage(git仓库见文末) 原文:https://i847.cn/article/63834.html 介绍 微信后台管理页面,由其他项目二次开发而来. 注意 自己写接口,接口名字和参数详 ...

  8. 后台管理页面布局(左侧导航长度根据右侧内容无限延伸)

    2019独角兽企业重金招聘Python工程师标准>>>     如图为标准后台管理页面布局,左侧导航布局一般是设置高度100%来适应所有尺寸的显示器打开的浏览器高度. 但是这种布局会 ...

  9. 基于layui的后台管理模板

    介绍: 基于layui的后台管理模板 网盘下载地址: http://kekewangLuo.cc/U6mcEZKHXpb 图片:

最新文章

  1. mysql数据库SELECT语句执行步骤
  2. groovy怎样从sql语句中截取表名_sql注入mysql篇
  3. Jquery EasyUI datagrid数据库分页
  4. WebRTC各种资料集合(WebRtc入门必看)
  5. python设置cookie_Python中cookie的设置方法
  6. SendMessage
  7. 几道经典的SQL题目
  8. 一个完整的使用的例子,和可下代码
  9. SSH框架+mysql+tomcat 服务器 中文乱码解决方案
  10. asp.net弹出对话框
  11. 孙燕姿 -《Stefanie》
  12. 苹果UDID泄露续:为什么UDID泄露会引起这么大反响?
  13. iphone11返回上一级手势怎么设置_iPhone 11 系列手势操作大全你了解吗?
  14. html外链怎么做,外链铺广之路如何走?外链实操战术整理
  15. Python爬虫之爬取网站图片
  16. Mac安装软件时各种异常情况的解决方法
  17. iOS 中如何识别图片清晰度
  18. python爬虫笔记一:爬取豆瓣中指定的明星所有图片
  19. 那些让你惊掉下巴到肚皮上的python冷知识(二)
  20. LeetCode 消除游戏

热门文章

  1. 使用Arduino制作震动检测器
  2. 漂亮的html搜索框,CSS美化的漂亮搜索框
  3. 无法显示隐藏文件,怎么办?
  4. monkey 测试介绍
  5. "尼斯湖怪"是大象?英学者称揭开谜团
  6. Rockchip 定制开关机铃声和动画说明
  7. TightVNC viewer 2.8.11
  8. C语言关系运算符及其运算顺序
  9. 计算机图形学(循环四边形)
  10. halcon算法思路_halcon常用算法