当前位置: 首页 > news >正文

十三、Django之添加用户(原始方法实现)

修改urls.py

    path("user/add/", views.user_add),

添加user_add.html

{% extends 'layout.html' %}
{% block content %}<div class="container"><div class="panel panel-default"><div class="panel-heading"><h3 class="panel-title">新建用户</h3></div><div class="panel-body"><form method="post">{% csrf_token %}<div class="form-group"><label>姓名</label><input type="text" class="form-control" placeholder="姓名" name="name"/></div><div class="form-group"><label>密码</label><input type="text" class="form-control" placeholder="密码" name="pwd"/></div><div class="form-group"><label>年龄</label><input type="text" class="form-control" placeholder="年龄" name="age"/></div><div class="form-group"><label>余额</label><input type="text" class="form-control" placeholder="余额" name="money"/></div><div class="form-group"><label>入职时间</label><input type="text" class="form-control" placeholder="入职时间" name="time"/></div><div class="form-group"><label>性别</label>
{#                        可以这么写,但是如果下拉选项过多的时候很费劲#}
{#                        <select class="form-control">#}
{#                            <option value="1">男</option>#}
{#                            <option value="2">女</option>#}
{#                        </select>#}<select class="form-control" name="gender">{% for item in gender_choices %}<option value="{{ item.0 }}">{{ item.1 }}</option>{% endfor %}</select></div><div class="form-group"><label>部门</label><select class="form-control" name="dept">{% for item in depart_list %}<option value="{{ item.id }}">{{ item.title }}</option>{% endfor %}</select></div><button type="submit" class="btn btn-primary">提 交</button></form></div></div></div>
{% endblock %}

修改view.py

def user_add(request):if request.method=="GET":context = {"gender_choices": models.UserInfo.gender_choices,"depart_list": models.Department.objects.all()}return render(request, "user_add.html", context)# 获取用户提交的数据name = request.POST.get("name")pwd = request.POST.get("pwd")age = request.POST.get("age")money = request.POST.get("money")time = request.POST.get("time")gender = request.POST.get("gender")dept = request.POST.get("dept")#     添加数据到数据库中models.UserInfo.objects.create(name=name, password=pwd, age=age, account=money, create_time=time, gender=gender, depart_id=dept)return redirect("/user/list/")

修改user_list.html

注意将user_list的路由替换

            <a class="btn btn-success" href="/user/add"><span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>新建用户</a>

页面测试

在这里插入图片描述

缺点

  • 用户提交数据没有校验
  • 用户输错信息页面上没有错误提示
  • html文件中每个字段都需要重写
  • 关联的数据是手动获取并循环展示在页面
http://www.lryc.cn/news/183273.html

相关文章:

  • Elasticsearch数据操作原理
  • gitgitHub
  • 十天学完基础数据结构-第九天(堆(Heap))
  • vertx的学习总结7之用kotlin 与vertx搞一个简单的http
  • golang学习笔记(二):链路追踪
  • git提交代码实际操作
  • TF坐标变换
  • 如何进行网络编程和套接字操作?
  • 在Spark中集成和使用Hudi
  • 力扣第226翻转二叉数 c++三种方法 +注释
  • React项目部署 - Nginx配置
  • 【Vue3】定义全局变量和全局函数
  • 【Pandas】Apply自定义行数
  • C#,数值计算——完全VEGAS编码的蒙特·卡洛计算方法与源程序
  • 纯css实现3D鼠标跟随倾斜
  • Pandas数据结构
  • systemverilog function的一点小case
  • 微服务的初步使用
  • 【2023年11月第四版教材】第18章《项目绩效域》(合集篇)
  • Android 11.0 mt6771新增分区功能实现三
  • 计算机网络——计算机网络的性能指标(上)-速率、带宽、吞吐量、时延
  • 每日一题 518零钱兑换2(完全背包)
  • Linux shell编程学习笔记8:使用字符串
  • 【Spring笔记03】Spring依赖注入各种数据类型
  • 2023计算机保研——双非上岸酒吧舞
  • 《计算机视觉中的多视图几何》笔记(13)
  • H5移动端购物商城系统源码 小型商城全新简洁风格全新UI 支持易支付接口
  • 全志ARM926 Melis2.0系统的开发指引⑤
  • 【AI视野·今日Robot 机器人论文速览 第四十七期】Wed, 4 Oct 2023
  • GPX可视化工具 GPX航迹预览工具