Вы используете новый синтаксис пути со старым методом URL. Измените его на путь:

аюсь добавить ссылки на URL-адрес change_friend и просмотреть, но получаю обратное соответствие, потому что я, очевидно, не передаю правильные аргументы.

вот friends.urls.py:

from . import views
from django.conf.urls import url



app_name = 'friends'

urlpatterns = [
    # we have 1 url for both adding and losing a friend
    url('connect/<slug:operation>/<int:pk>/', views.change_friends, name='change_friends'),
    # url(r'^connect/(?P<operation>.+)/(?P<pk>\d+)/

вот друзья.views.py:

from django.shortcuts import render, redirect
from friends.models import Friend
from django.contrib.auth.models import User




def change_friends(request, operation, pk):
    friend = User.objects.get(pk=pk)
    if operation == 'add':
        Friend.make_friend(request.user, friend)
    elif operation == 'lose':
        Friend.lose_friend(request.user, friend)
    return redirect('groups:index')

вот шаблон, в котором я его называю (profile.html):

  {% if user in friends %}
          <a href="{% url 'friends:change_friends' 'remove' user_profile.id %}"><button type="button" name="btn btn-warning">UnFriend</button></a>
        {% else %}
          <a href="{% url 'friends:change_friends' 'add' user_profile.id %}"><button type="button" name="btn btn-success">Befriend</button></a>
        {% endif %}

мне кажется, я передаю правильные аргументы. это ошибка, которую я получаю:

NoReverseMatch at /accounts/profile/4
Reverse for 'change_friends' with arguments '('remove', 4)' not found. 1 pattern(s) tried: ['friends\\/connect/<slug:operation>/<int:pk>/']

Любая помощь могла бы быть полезна

, views.change_friends, name='change_friends') ]

вот друзья.views.py:

from django.shortcuts import render, redirect
from friends.models import Friend
from django.contrib.auth.models import User




def change_friends(request, operation, pk):
    friend = User.objects.get(pk=pk)
    if operation == 'add':
        Friend.make_friend(request.user, friend)
    elif operation == 'lose':
        Friend.lose_friend(request.user, friend)
    return redirect('groups:index')

вот шаблон, в котором я его называю (profile.html):

  {% if user in friends %}
          <a href="{% url 'friends:change_friends' 'remove' user_profile.id %}"><button type="button" name="btn btn-warning">UnFriend</button></a>
        {% else %}
          <a href="{% url 'friends:change_friends' 'add' user_profile.id %}"><button type="button" name="btn btn-success">Befriend</button></a>
        {% endif %}

мне кажется, я передаю правильные аргументы. это ошибка, которую я получаю:

NoReverseMatch at /accounts/profile/4
Reverse for 'change_friends' with arguments '('remove', 4)' not found. 1 pattern(s) tried: ['friends\\/connect/<slug:operation>/<int:pk>/']

Любая помощь могла бы быть полезна

Ответы на вопрос(1)

Ваш ответ на вопрос