gpt4 book ai didi

python - Django 将用户 ID 嵌入 URL 模板最佳实践

转载 作者:太空狗 更新时间:2023-10-30 02:14:23 24 4
gpt4 key购买 nike

我正在我的 Django 应用程序中构建一个导航菜单,其中一个选项是“我的帐户”。我为用户设置了不同的角色,但为了让他们都能查看他们的个人资料,我使用通用 URL,例如 http://mysite/user//个人资料。

使用模板构建此 url 的 Django 最佳实践是什么?

它只是像这样吗:

<a href="/user/{{ user.id }}/profile">My Account</a>

或者是:

<a href="{{ url something something }}">My Account</a>

不完全确定使用 url 模板标记的适当语法是什么。这是我的 URLconf 的样子:

(r'^user/(?P<user_id>\d+)/profile/$', user_profile)

我最好的选择是什么?

最佳答案

查看命名 URL,您可以找到官方 django 文档 here .

基本上,您可以在 URL conf 中这样命名您的 URL:

url(r'^user/(?P<user_id>\d+)/profile/$', 'yourapp.views.view', name='user_url')

然后在任何模板中,您可以这样做:

<a href="{% url user_url user.id %}">

但是,这会使您的 URL 结构变得非常丑陋,并且有更好的方法可以做到这一点。例如,您可以转到/profile/并从当前 session 中检索用户标识(每个请求都有一个“用户”属性,请使用它)。因此,例如,在您看来,您可以这样做:

def myview(request):
user = request.user

随后您可以使用该信息来做您想做的事。比在 URL 中使用 ID 好得多,而且您不必担心可能涉及的任何其他安全问题。

关于python - Django 将用户 ID 嵌入 URL 模板最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1801350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com