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 13 Python
python比较2个xml内容的方法
May 11 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
Apr 24 Python
python中安装模块包版本冲突问题的解决
May 02 Python
Python人脸识别初探
Dec 21 Python
python爬取哈尔滨天气信息
Jul 14 Python
python虚拟环境迁移方法
Jan 03 Python
Python设计模式之组合模式原理与用法实例分析
Jan 11 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
Jan 29 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
Python NumPy灰度图像的压缩原理讲解
Aug 04 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
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
递归列出所有文件和目录
2006/10/09 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
微信企业号开发之微信考勤Cookies的使用
2015/09/11 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
JavaScript数组的栈方法与队列方法详解
2016/05/26 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
2016/11/01 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
JS常用排序方法实例代码解析
2020/03/03 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
[01:06] DOTA2英雄背景故事第三期之秩序法则光之守卫
2020/07/07 DOTA
Python自动重试HTTP连接装饰器
2015/04/28 Python
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
办公室前台岗位职责
2014/01/04 职场文书
外贸业务员工作职责
2014/01/06 职场文书
英文导游欢迎词
2014/01/11 职场文书
汽车装潢店创业计划书范文
2014/02/05 职场文书
阿德的梦教学反思
2014/02/06 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
销售内勤岗位职责
2014/04/15 职场文书
运动会标语
2014/06/21 职场文书
法人委托书
2014/07/31 职场文书
英文慰问信范文
2015/03/24 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书