1 问题描述
- 制作一个用户信息管理模型 用户信息包括: ‐ 姓名 ‐ 密码 ‐ 年龄 ‐ 邮箱 ‐ 创建时间
- 产品功能: 1. 全部用户信息的展示(查) 2. 添加新用户(增) 3. 修改用户信息(改) 4. 删除用户(删)
2 解题提示
- settings 中 数据库配置
- 模型类的创建
- 数据库迁移
3 评分标准
- 构造模型层并生成对应的表结构 10分
- 完成增删改查功能的开发 20分
- 代码注释,规范10分
4 要点解析
4.1 整体结构的理解
4.2 数据库迁移
- 使用命令行
- 生成迁移文件
Python manage.py makemigrations
- 同步数据库
python manage.py migrate
- 使用pycharm迁移
- 同步数据库
4.3 settings中数据库配置与 pycharm连接数据库配置
- settings中的是 django框架用来连接数据库的配置
- pycharm中的database是pycharm连接的,就相当于图形化连接数据库
5 实现步骤
Python manage.py makemigrations
python manage.py migrate
扫描二维码关注公众号,回复:
9756696 查看本文章
- ##### 子路由
- 增
- 改
- 删
-
前端页面
- base页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> {% block title %} {% endblock %} </title> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <!-- 导航栏--> <nav class="navbar navbar-inverse" role="navigation"> <div> <a class="navbar-brand" href="{% url "user:index" %}">用户信息管理系统</a> </div> <div> <ul class="nav navbar-nav"> <li><a href="{% url 'user:add' %}">新增用户</a></li> </ul> </div> </nav> {% block article %} {% endblock %} </body> </html>
- 查
<!-- 要求 1. 引用base.html 2. 展示所有的数据for循环 3. 操作修改和删除分别转到对应的地址去 url "namespace:urls" 【参数】 4. css --> {% extends 'base.html' %} {% block title %} 用户信息管理系统首页 {% endblock %} {% block article %} <div class="container"> <table class="table table-hover"> <thead> <tr> <th>id</th> <th>姓名</th> <th>密码</th> <th>年龄</th> <th>邮箱</th> <th>创建时间</th> <th>操作</th> </tr> </thead> <tbody> {% for person in user %} <tr> <td>{{ person.id }}</td> <td>{{ person.username }}</td> <td>{{ person.password }}</td> <td>{{ person.age }}</td> <td>{{ person.email }}</td> <td>{{ person.createDateTime|date:'Y-m-d H:i:s'}}</td> <!--模板过滤器 变量|过滤器关键字:参数--> <td><a href="{% url 'user:update' person.id %}">修改</a> <a href="{% url 'user:delete' person.id %}">删除</a> </td> </tr> {% endfor %} </tbody> </table> </div> {% endblock %}
- 增
<!-- 要求 1. 引用base.html 2. 分别在title,article里输入代码 3. add需要使用form method='POST' action='add.html',其中POST需要加crsf_token(crsf跨站请求伪造) 4. css把add页弄一下 --> {% extends 'base.html' %} {% block title %} 新增用户 {% endblock %} {% block article %} <div> <form action="add.html" method="post"> {% csrf_token %} <div class="form-group" > <label for="username" class="col-sm-1 control-label">用户名</label> <div class="col-sm-2"> <input class="form-control" type="text" placeholder="请输入用户名" name="username"> </div> </div> <br> <div class="form-group" > <br> <label for="password" class="col-sm-1 control-label">密码</label> <div class="col-sm-2"> <input class="form-control" type="password" placeholder="请输入密码" name="password"> </div> </div> <br> <div class="form-group" > <label for="age" class="col-sm-1 control-label">年龄</label> <div class="col-sm-2"> <input class="form-control" type="text" placeholder="请输入年龄" name="age"> </div> </div> <br> <div class="form-group" > <label for="email" class="col-sm-1 control-label">邮箱</label> <div class="col-sm-2"> <input class="form-control" type="text" placeholder="请输入邮箱" name="email"> </div> </div> <br> <div class="form-group" > <div class="col-sm-offset-1 col-sm-10"> <button type="submit" class="btn btn-default" >提交</button> </div> </div> </form> </div> {% endblock %}
- 改
<!-- 要求 1. 引用base.html 2. 修改title和article两个内容 3. 使用form,method使用POST --> {% extends 'base.html' %} {% block title %} 修改用户 {% endblock %} {% block article %} <div> <form action="{% url 'user:update' user.id %}" method="post"> {% csrf_token %} <div class="form-group" > <label for="username" class="col-sm-1 control-label">用户名</label> <div class="col-sm-2"> <input class="form-control" type="text" placeholder="请输入用户名" name="username"> </div> </div> <br> <div class="form-group" > <br> <label for="password" class="col-sm-1 control-label">密码</label> <div class="col-sm-2"> <input class="form-control" type="password" placeholder="请输入密码" name="password"> </div> </div> <br> <div class="form-group" > <label for="age" class="col-sm-1 control-label">年龄</label> <div class="col-sm-2"> <input class="form-control" type="text" placeholder="请输入年龄" name="age"> </div> </div> <br> <div class="form-group" > <label for="email" class="col-sm-1 control-label">邮箱</label> <div class="col-sm-2"> <input class="form-control" type="text" placeholder="请输入邮箱" name="email"> </div> </div> <br> <div class="form-group" > <div class="col-sm-offset-1 col-sm-10"> <button type="submit" class="btn btn-default" >修改</button> </div> </div> </form> </div> {% endblock %}
- 删
<!-- 要求 1. 引用base.html 2. 输出title/article 3. 输出增加/修改/删除的执行结果 --> {% extends 'base.html' %} {% block title %} 操作结果 {% endblock %} {% block article %} {{ message }} {% endblock %}