首页>>后端>>Python->django如何区分不同用户(2023年最新分享)

django如何区分不同用户(2023年最新分享)

时间:2023-12-09 本站 点击:0

导读:很多朋友问到关于django如何区分不同用户的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!

Django--快速实现用户登录

我们在系统开发时都会遇到用户登录的需求,使用Django 用户认证(Auth)组件可以帮助我们判断当前的用户是否合法,快速实现用户登录、验证和退出。

Django中 LOGIN_URL 默认是 /accounts/login/ ,如果我们不设置就会跳转到 /accounts/login/ 页面去,因此需要我们覆写这个值,让它指向我们的登录页面。

使用django自带的装饰器 @login_required,就可以判断用户是否登录,只需要在相应的view方法的前面添加@login_required。

最后给大家做个展示:

你学会了吗,赶紧去试试吧!!!

django 如果在多个app使用各自的用户多认证

这个不能再settings.py里面直接配置,配置了以后这个配置文件写的就是默认Auth系统了,想要用到各自的用户表来认证话,你在每个App的models.py和admin.py里面分别继承Django自带的Auth系统,from django.contrib.auth import authenticate, login, logout这句话就可以解决views里面的登录与退出;from django.contrib.auth.models import User就可以继承User的models。

觉得好的话采纳一下哦

django admin实现后台多用户隔离

很多人说django自带的后台只能用来做管理,其实简单的多用户发布需求还是可以用自带的admin模块来做的。核心是使用 request.user 获取当前登录用户,然后根据用户筛选后台显示内容。

复杂的用户权限管理使用django-guardian等组件

模拟了一个根据用户每天输入的数据,生成可视化报表的项目。预想的是根据不同的报表类型,预设不同的数据模板。前端请求的时候发送报表类型和数据范围用户等信息到后端。后端返回数据后交给前端echart处理。

花了整个下午才完成基本的后台,因为目的是实现多用户,后面的部分有空再去写。

![HTZMQ)4(7BXHAD`K~F]QSLR.png]( )

创建和修改model时,会显示关联的外键的所有的值,比如显示出所有的用户来了。使用 get_form 方法隐藏外键字段(例如user), save_model 设置user默认值,也别忘了列表页的筛选 get_queryset

django 如何识别用户按了表单中的哪个按钮

确实。

如下的表单内容:

form action="/save" method="post"

input type="hidden" name="file_name" value={{file_name}}

input name="submit" type="submit" value="save" size="" /

input name="submit" type="submit" value="cancel" size="" /

/form

我在服务器端可以通过request.post.get('submit') 为save 或者 cancel来判断用户点击了哪个变量,这样就方便多了,不需要用javascript了

【 在 pinnotherid (39.2°) 的大作中提到: 】

Django查询一个权限中包含哪些用户

django认证系统包含三个部分:用户、权限和分组...如果不是使用django-admin.py创建项目的可以通过在...django自带一个简单的权限系统

python--django小白,有个关于多用户提交和数据根据用户过滤的问题?

在你的数据表模型中新增一个字段user作为外键指向用户表的id,表示该数据是由哪个用户创建的:

class Data(models.Model):

...  # 其他数据字段

user = models.ForeignKey('User', on_delete=models.CASCADE)

2. 处理请求时,通过request.user获得登录用户,返回该用户提交的所有数据:

def view_func(request):

user = request.user

if user.is_anonymous:

return HttpResponse('请先登录', status=401)

queryset = Data.objects.filter(user=user)

return render(request, 模板, {'queryset': queryset})

结语:以上就是首席CTO笔记为大家整理的关于django如何区分不同用户的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django如何区分不同用户的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/20784.html