django - 添加用户 - 普通方法 -增 - 删 - 查

1. urls.py   增 删 查 

urlpatterns = [
    # 用户
    path('user_list/', views.user_list),
    path('user_add/', views.user_add),
    path('user_detele/', views.user_detele),

]

2. views.py  查询  添加数据  删除数据  注意 无修改数据

from django.shortcuts import render, redirect, HttpResponse
from app.models import Users


# 用户列表
def user_list(request):
    response = Users.objects.all()
    return render(request, 'user_list.html', {'response': response})

# 用户添加 原始方法添加数据
def user_add(request):
    if request.method == 'GET':
        return render(request, 'user_add.html')
    # 接受数据
    user = request.POST.get('user')
    pwd = request.POST.get('pwd')
    Users.objects.create(user=user, pwd=pwd)
    return redirect('/user_list/')

# 用户删除
def user_detele(request):
    nid = request.GET.get('nid')
    Users.objects.filter(id=nid).delete()
    return redirect('/user_list/')

3. 显示页面 list.html  页面 

    删除代码 :  <a href="/user_detele/?nid={{ item.id }}" type="button" class="btn btn-danger btn-xs">删除</a>

     性别查询 : 

sex_choice = (
        (0, ''),
        (1, ''),
    )
sex = models.SmallIntegerField(verbose_name='性别', choices=sex_choice)

     调用 : {{ item.get_sex_display }}    get_字段名_display()  固定函数 

    部门连表注意显示 :   

    1.  需要 model.py   里面设置返回值 : 

      class Bumen(models.Model):
       title = models.CharField(max_length=32, verbose_name='部门')
       def __str__(self):
      return self.title
        
    2. 部门表  设置表  to='Bumen'  设置关联表 , to_field='id' 设置关联字段  , on_delete=models.CASCADE  设置级联删除 
      bu_men = models.ForeignKey(to='Bumen', to_field='id', on_delete=models.CASCADE, verbose_name='部门')
      调用 : {{ item.bu_men }}

 

{% extends  'layout.html' %}

    {% block content %}
        <p>
          <a href="/user_add/" class="btn btn-success">
              <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> 原始方法新建用户 </a>

        </p>
        <div class="bs-example" data-example-id="bordered-table">
            <table class="table table-bordered">
              <thead>
                <tr>
                  <th>ID</th>
                  <th>用户名</th>
                  <th>密码</th>
                  <th>操作</th>
                </tr>
              </thead>
              <tbody>
                {% for item in response %}
                <tr>
                  <th>{{ item.id }}</th>
                  <td>{{ item.user }}</td>
                  <td>{{ item.pwd }}</td>
                  <td>
                      <a type="button" class="btn btn-success btn-xs">无编辑</a>
                      <a href="/user_detele/?nid={{ item.id }}" type="button" class="btn btn-danger btn-xs">删除</a>
                  </td>
                </tr>
                {% endfor %}

              </tbody>
            </table>
          </div>

    {% endblock %}

4. 添加页面代码 add.html

  注意: {% csrf_token %}

  

{% extends  'layout.html' %}

    {% block content %}
        <h2> 添加用户 </h2>
       <form method="post">
       {% csrf_token %}
          <div class="form-group">
            <label for="exampleInputEmail1">用户名</label>
            <input type="text" class="form-control" name="user" placeholder="用户名">
          </div>
          <div class="form-group">
            <label for="exampleInputPassword1">密码</label>
            <input type="password" class="form-control" name="pwd" placeholder="密码">
          </div>
          <button type="submit" class="btn btn-default">提交</button>
       </form>

    {% endblock %}

 


 

posted @ 2022-05-24 10:26  我在春天等伱  阅读(93)  评论(0)    收藏  举报