django-profiles:如何从与当前用户不同的用户编辑配置文件

时间:2011-11-07 20:56:23

标签: django

新手django问题

我正在使用django-profiles显示配置文件列表,使用profiles.views.profile_list视图和个人配置文件,使用profiles.views.profile_detail。

对于每个个人配置文件,我想添加一个链接来编辑配置文件,仅当配置文件对应于当前用户时。我的第一次尝试是:

(...)
{% block content %}
<p>Profile detail info for {{ user }} </p>
<ul>
    <li>{{ user.username }}

        {% if user.is_authenticated %}
        <a href="{% url profiles_edit_profile user.username %}">edit</a>
        {% endif %}

    </li>
    <li>{{ user.get_profile.url }}</li> (...)

但后来我遇到了一个明显的问题:edit_profile意在编辑当前的用户配置文件,因此不会将username / id作为参数,并且django无法反转url,因为实际上我没有url编辑指定用户的个人资料。

这里最好的策略是什么?将配置文件应用程序复制到我的项目中并添加命名用户编辑配置文件视图或者有没有办法做到这一点,而无需拥有应用程序的本地项目副本 - 我想这会更好?

感谢

1 个答案:

答案 0 :(得分:0)

edit_profile视图已强制正在编辑的配置文件是当前用户的配置文件。您不需要传递任何参数:

(...)
{% block content %}
<p>Profile detail info for {{ user }} </p>
<ul>
    <li>{{ user.username }}

        {% if user.is_authenticated %}
        <a href="{% url profiles_edit_profile %}">edit</a>
        {% endif %}

    </li>
    <li>{{ user.get_profile.url }}</li> (...)