案例:用户管理

文章介绍了如何在Django项目中,通过urls.py文件设置URL路径与views.py中的视图函数关联,以及在views.py中实现用户信息的增删改操作,包括展示数据、表单提交和数据库操作的示例。
摘要由CSDN通过智能技术生成
一. 在mysit项目文件夹下的mysit文件夹中找到urls.py文件里面创建URL和视图函数对应关系
from django.contrib import admin
from django.urls import path

from app01 import views

urlpatterns = [
    # path('admin/', admin.site.urls),
    # www.xxx.com/index/  -> 函数
    path('index/', views.index),
    path('user/list/', views.user_list),
    path('user/add/', views.user_add),
    path('tpl/', views.tpl),
    # 联通新闻中心
    path('news/', views.news),
    # 请求和相应
    path('something/', views.something),
    # 用户登录
    #  http://127.0.0.1:8000/login/  ->  login
    path('login/', views.login),
    path('orm/', views.orm),


    # 案例:用户管理
    path('info/list/', views.info_list),  
    path('info/add/', views.info_add),  
    path('info/delete/', views.info_delete),  
]

二. views.py文件中编写函数

from django.shortcuts import render, HttpResponse, redirect
from app01.models import Department, UserInfo

# 显示
def info_list(request):  
    # 1.获取数据库中所有的用户信息
    # [对象,对象,对象]
    data_list = UserInfo.objects.all()  

    # 2.渲染,返回给用户
    return render(request, "info_list.html", {"data_list": data_list})

# 添加
def info_add(request):
    if request.method == "GET":
        return render(request, 'info_add.html')

    # 1.获取用户提交的数据
    user = request.POST.get("user")
    pwd = request.POST.get("pwd")
    age = request.POST.get("age")

    # 2. 添加到数据库
    UserInfo.objects.create(name=user, password=pwd, age=age)

    # 3. 自动跳转
    # return redirect("http://127.0.0.1:8000/info/list/")
    return redirect("/info/list/")  # 重定向回显示页面

# 删除
def info_delete(request):
    nid = request.GET.get('nid')  # 获取id
    UserInfo.objects.filter(id=nid).delete()  # 删除id对应的值
    return redirect("/info/list/")  # 重定向回显示页面

三. templates文件夹下创建html文件

        1. 添加页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>添加用户</h1>
<form method="post">  <!-- 表单 提交方式 -->
    {% csrf_token %}  <!-- 表单 提交方式 -->
    <input type="text" name="user" placeholder="用户名">
    <input type="text" name="pwd" placeholder="密码">
    <input type="text" name="age" placeholder="年龄">
    <input type="submit" value="提交">
</form>


</body>
</html>

        2. 显示页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>INFO列表</h1>

<a href="/info/add/">添加</a>

<table border="1">
    <thead>
    <tr>
        <th>ID</th>
        <th>姓名</th>
        <th>密码</th>
        <th>年龄</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    {% for obj in data_list %}
        <tr>
            <td>{{ obj.id }}</td>
            <td>{{ obj.name }}</td>
            <td>{{ obj.password }}</td>
            <td>{{ obj.age }}</td>
            <td>
                <a href="/info/delete/?nid={{ obj.id }}">删除</a>
            </td>
        </tr>
    {% endfor %}
    </tbody>
</table>


</body>
</html>

      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值