django-profile: как редактировать профиль пользователя, отличного от текущего пользователя - PullRequest
0 голосов
/ 08 ноября 2011

вопрос новичка Джанго

Я использую профили django для отображения списка профилей, используя представление 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 предназначен для редактирования текущего профиля пользователя, поэтому он не принимает имя пользователя / идентификатор в качестве аргументов, и django не может изменить URL, потому что на самом деле у меня нет URL для редактировать профиль указанного пользователя.

Какая здесь лучшая стратегия? скопировать приложение профилей в мой проект и добавить имя пользователя для редактирования профиля просмотра? Или есть способ сделать это без необходимости иметь локальную копию проекта приложения - что, я думаю, было бы предпочтительнее?

спасибо

1 Ответ

0 голосов
/ 08 ноября 2011

Представление 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> (...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...