首页 文章

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

提问于
浏览
0

新手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来编辑命名用户的 Profiles .

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

谢谢

1 回答

  • 0

    edit_profile 视图已经强制要编辑的配置文件是当前用户's profile. You don't需要传递任何参数给它:

    (...)
    {% 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> (...)
    

相关问题