Python django将用户id嵌入URL模板最佳实践

Python django将用户id嵌入URL模板最佳实践,python,django,Python,Django,我正在django应用程序中构建一个导航菜单,其中一个选项是“我的帐户”。我为用户提供了不同的角色,但为了让他们都能查看他们的个人资料,我使用了一个通用URL,如/profile Django使用模板构建此url的最佳实践是什么 这仅仅是一种类似于: <a href="/user/{{ user.id }}/profile">My Account</a> 还是: <a href="{{ url something something }}">My Acc

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

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

这仅仅是一种类似于:

<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)
(r'^user/(?P\d+)/profile/$,user\u profile)

我的最佳选择是什么?

您的第一次尝试与您的URLconf中列出的url匹配。我也会使用这个方法。

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

基本上,您可以在URL配置中命名URL,如下所示:

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

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

最简单的方法-在您的模型中定义一个
获取绝对URL
方法,并将其与
permalink
装饰器结合使用(如果您愿意)。

我想说同样的话,这里是链接:我强烈推荐decoratorI必须使用,注意“s”。
<a href="{% url user_url user.id %}">
def myview(request):
    user = request.user