首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么传递给urls的django用户名参数是直接连接的,以及如何防止它

为什么传递给urls的django用户名参数是直接连接的,以及如何防止它
EN

Stack Overflow用户
提问于 2019-05-26 19:46:25
回答 2查看 31关注 0票数 0

我正在尝试访问用户配置文件,如果urls参数是配置文件/用户名,它工作,但我有一个安全问题,因为用户是直接连接的。

如何在django中定义用户配置文件访问权限,具体取决于用户是否经过身份验证

profil.html

代码语言:javascript
复制
{% if  user.is_authenticated %}
            <p>{{ user.username}}</p>
            <a href="">edit your profile</a>

            {% else %}
            <p>{{ user.username}}</p>
            <p>basic profile of user</p>
 {% endif%}

views.py

代码语言:javascript
复制
def profil(request,username):
    user=get_object_or_404(User, username=username)
    context = {
        'user':user
    }
    return render(request, 'service/profil.html',context)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-31 03:18:58

我修复了我的问题状态

{% if request.user == requested_user %} <p>{{ requested_user.username}}</p> <a href="">edit your profile</a> {% else %} <p>{{ requested_user.username}}</p> <p>basic profile of user</p> {% endif%}

票数 0
EN

Stack Overflow用户

发布于 2019-05-26 19:56:56

您可以使用login required decorator。只需将其添加到您的视图中:

代码语言:javascript
复制
from django.contrib.auth.decorators import login_required

@login_required
def profil(request, username):
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56313198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档