Django搭建个人博客:用户的删除

Django用户删除功能实现
本文介绍了在Django中实现用户删除功能的步骤,包括权限验证、视图处理、模板和URL配置。通过使用`@login_required`装饰器确保用户已登录且只能删除自己的账户。在模板中添加删除用户的入口,并利用弹窗组件防止误操作。同时,文章还强调了在数据库层面检查用户是否真正被删除的重要性。

这一章将实现删除用户数据的功能。实际上删除用户和前面的删除文章是完全类似的,有了之前的铺垫,这一章会非常的轻松。

权限与视图

用户数据是很多网站最重要的财产,确保用户数据的安全是非常重要的

前面学习的用户登录、退出、创建都是相对安全的操作;而删除数据就很危险,弄不好会造成不可逆的损失。因此我们希望对操作者做一些限制,比如只能用户登录且必须是本用户才能进行删除的操作。这就是权限

因此在视图中进行简单的用户权限的验证工作。编写/userprofile/views.py

/userprofile/views.py

from django.contrib.auth.models import User
# 引入验证登录的装饰器
from django.contrib.auth.decorators import login_required

...

@login_required(login_url='/userprofile/login/')
def user_delete(request, id):
    if request.method == 'POST':
        user = User.objects.get(id=id)
        # 验证登录用户、待删除用户是否相同
        if request.user == user:
            #退出登录,删除数据并返回博客列表
            logout(request)
            user.delete()
            return r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值