Django 创建/删除用户的示例代码


Posted in Python onJuly 24, 2019

示意图:

Django 创建/删除用户的示例代码

html:

{# 用户管理 #}
  <div id="userManageDiv" style="display: none;">
    <div id="" style="margin-left: 10px;">  {# 创建用户 #}
      <h4 style="margin-top: 15px;">创建用户</h4>
      <hr style="margin-top: 5px;" />
      <div class="input-group" style="margin-bottom: 5px; margin-left: 30px; width: 253px;">
        <span class="input-group-addon" id="basic-addon1" style="width: 80px;">用户名</span>
        <input type="text" class="form-control" id="username" name="username" placeholder="请输入用户名" aria-describedby="basic-addon1" />
      </div>
      <div class="input-group" style="margin-bottom: 5px; margin-left: 30px; width: 253px;">
        <span class="input-group-addon" id="basic-addon2" style="width: 80px;">密码</span>
        <input type="password" class="form-control" id="password" name="password" placeholder="请输入密码" aria-describedby="basic-addon2" />
      </div>
      <div class="input-group" style="margin-bottom: 5px; margin-left: 30px;">
        <span class="input-group-addon" id="basic-addon3">确认密码</span>
        <input type="password" class="form-control" id="passwordAgain" name="passwordAgain" placeholder="请再次输入密码" aria-describedby="basic-addon3" />
      </div>
      <div class="input-group" style="margin-bottom: 5px; margin-left: 30px; width: 253px;">
        <span class="input-group-addon" style="width: 80px;">是否激活</span>
        <select name="userStatus" id="userStatus" class="form-control selectpicker">
          <option value="1">激活</option>
          <option value="0">封停</option>
        </select>
      </div>
      <div id="createUserAlert" class="alert alert-danger" role="alert" style="width: 30%; margin-bottom: 6px; display: none;"></div>
      <button type="button" id="createUserBtn" class="btn btn-default" data-toggle="modal" data-target="#alertTip" data-whatever="激活/封停 该账户?" style="width: 100px; margin-left: 100px;">提  交</button>
      <hr style="margin-top: 5px;" />
    </div>

    <div id="" style="margin-left: 10px; margin-top: 50px;">   {# 删除用户 #}
      <h4 style="margin-top: 15px;">删除用户</h4>
      <hr style="margin-top: 5px;" />
      <div class="input-group" style="margin-bottom: 5px; margin-left: 30px; width: 253px;">
        <span class="input-group-addon" style="width: 80px;">用户名</span>
        <select name="deleteUsername" id="deleteUsername" class="form-control selectpicker" data-live-search="true">
        {% for user in users %}
          <option value="{{ user.username }}">{{ user.username }}</option>
        {% endfor %}
        </select>
      </div>
      <button type="button" id="deleteUserBtn" class="btn btn-default" data-toggle="modal" data-target="#alertTip" data-whatever="删除 该账户?" style="width: 100px; margin-left: 100px;">提  交</button>
    </div>
  </div>

html?模态框:

{# 模态框 #}
  <div class="modal fade" tabindex="-1" role="dialog" id="alertTip">
    <div class="modal-dialog" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">×</span>
          </button>
          <h4 class="modal-title">确认提示框!!</h4>
        </div>
        <div class="modal-body">
          <p id="modal_content"></p>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-primary" id="modalConfirmBtn">确认</button>
          <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
        </div>
      </div>
    </div>
  </div>

前端js代码:

// 模态框 body显示
$(document).ready(function () {
  $('#alertTip').on('show.bs.modal', function (e) {
    var button = $(e.relatedTarget);
    var content = button.data('whatever');

    var modal = $(this);
    modal.find('#modal_content').text('确认 ' + content);
  })
});

// 模态框 显示前,记录 哪个div 启动了 模态框
var preAjaxDiv;
$(document).ready(function () {
  $('#createUserBtn').click(function () {
    preAjaxDiv = $(this).attr('id');
  });
  $('#deleteUserBtn').click(function () {
    preAjaxDiv = $(this).attr('id');
  });
  $('#changePasswordBtn').click(function () {
    preAjaxDiv = $(this).attr('id');
  });
  $('#changePermissionBtn').click(function () {
    preAjaxDiv = $(this).attr('id');
  });
});


// 模态框 点击确认后执行
$(document).ready(function () {
    $('#modalConfirmBtn').click(function () {
      if (preAjaxDiv == 'createUserBtn') {
        createUser();
        $('#alertTip').modal('hide');

      } else if (preAjaxDiv == 'deleteUserBtn') {
        deleteUser();
        $('#alertTip').modal('hide');

      } else if (preAjaxDiv == 'changePasswordBtn') {
        changePassword();
        $('#alertTip').modal('hide');

      } else if (preAjaxDiv == 'changePermissionBtn') {
        changePermission();
        $('#alertTip').modal('hide');
      }
    })
});

// 创建用户 激活/封停
function createUser() {
  var createUserAlert = '';
  $('#createUserAlert').hide();
  if ( !$('#username').val() ) {
    createUserAlert += "** 用户名不能为空!<br />";

  }
  if ( !$('#password').val() ) {
    createUserAlert += "** 密码不能为空!<br />";

  }
  if ( !$('#passwordAgain').val() ) {
    createUserAlert += "** 确认密码不能为空!<br />";

  }
  if ( $('#password').val() != $('#passwordAgain').val() ) {
    createUserAlert += "** 两次密码输入不一致!<br />";
  }
  if (createUserAlert) {
    $('#createUserAlert').html(createUserAlert);
    $('#createUserAlert').show();

  } else {
    $.ajax({
      url: '/createUser',
      type: 'POST',
      data: {
        createUsername: $('#username').val(),
        password: $('#password').val(),
        is_active: $('#userStatus').val()
      },
      success: function (data, textStatus) {
        if (data == 1) {
          alert('创建成功!');
          window.location.href = 'slg_manager_tem';

        } else if (data == -1) {
          alert('已经创建该账户,无法重复创建!');
        }
      },
      error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert(errorThrown);
      }
    })
  }
}


// 删除用户
function deleteUser() {
  $.ajax({
    url: '/deleteUser',
    type: 'POST',
    data: {
      deleteUsername: $('#deleteUsername').val()
    },
    success: function (data, textStatus) {
      if (data == 1) {
        alert('删除成功!');
        window.location.href = 'slg_manager_tem';
      }
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
      alert(errorThrown);
    }
  })
}

后端python?view视图:

# 创建用户 激活/封停
@login_required(login_url='slg:login')
@require_http_methods(["POST"])
@permission_required('slg.views_slg_manager_tem', login_url='slg:get_permissionDenied')
def create_user(request):
  username = request.POST['createUsername']
  password = request.POST['password']
  is_active = request.POST['is_active']

  createResult = db_create_user(username, password, is_active)
  if createResult == 1:
    return HttpResponse('1')
  elif createResult == -1:
    return HttpResponse('-1')

# 删除用户
@login_required(login_url='slg:login')
@require_http_methods(["POST"])
@permission_required('slg.views_slg_manager_tem', login_url='slg:get_permissionDenied')
def delete_user(request):
  username = request.POST['deleteUsername']
  deleteResult = db_delete_user(username)
  if deleteResult:
    return HttpResponse('1')

后端python?models视图:

from django.contrib.auth.models import User
from django.contrib.auth import authenticate
from django.db.utils import IntegrityError
from . import db_models as db

# 创建用户 激活/封停
def db_create_user(username, password, is_active):
  if is_active == '0':
    is_active = False
  elif is_active == '1':
    is_active = True

  try:
    User.objects.create_user(username=username, password=password, is_active=is_active)
  except IntegrityError:
    return -1  # 已经创建,无法重复创建
  else:
    return 1  # 创建成功

# 删除用户
def db_delete_user(username):
  deleteResult = User.objects.filter(username=username).delete()
  if deleteResult:
    return 1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用PYTHON接收多播数据的代码
Mar 01 Python
python中使用enumerate函数遍历元素实例
Jun 16 Python
python判断windows系统是32位还是64位的方法
May 11 Python
python实现简单购物商城
May 21 Python
对IPython交互模式下的退出方法详解
Feb 16 Python
500行Python代码打造刷脸考勤系统
Jun 03 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
python实现简单的购物程序代码实例
Mar 03 Python
解决python虚拟环境切换无效的问题
Apr 30 Python
如何利用python发送邮件
Sep 26 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
Jan 29 Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 #Python
简单了解python 邮件模块的使用方法
Jul 24 #Python
python 根据字典的键值进行排序的方法
Jul 24 #Python
如何使用Flask-Migrate拓展数据库表结构
Jul 24 #Python
Python定时任务工具之APScheduler使用方式
Jul 24 #Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 #Python
Django的用户模块与权限系统的示例代码
Jul 24 #Python
You might like
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
海量经典的jQuery插件集合
2010/01/12 Javascript
原生js实现class的添加和删除简单代码
2016/07/12 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
JavaScript之DOM_动力节点Java学院整理
2017/07/03 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
微信小程序实现手指触摸画板
2018/07/09 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
Python中列表和元组的相关语句和方法讲解
2015/08/20 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
Python 面试中 8 个必考问题
2018/11/16 Python
PyQt5实现简易电子词典
2019/06/25 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
tensorboard显示空白的解决
2020/02/15 Python
python计算auc的方法
2020/09/09 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
音乐教学案例
2014/01/30 职场文书
安全生产责任书范本
2014/04/15 职场文书
家长给学校的建议书
2014/05/15 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
婚礼答谢词范文
2015/09/29 职场文书
晚会开幕词范文
2016/03/04 职场文书
2019财务转正述职报告
2019/06/27 职场文书
MySQL之select、distinct、limit的使用
2021/11/11 MySQL
mysql insert 存在即不插入语法说明
2022/03/25 MySQL
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers