Почему игнорируется моё условие if Django?

есть код, который проверяет сессию пользователя, если пользователь авторизирован, то ему показывает кнопку Профиль, если не авторизован, то кнопку войти. Почему, когда я выхожу из аккаунта, то на главной странице всё нормально, а стоит зайти на страницу пользователя

127.0.0.1/user/1/ (1 - ID пользователя)

то происходит проблема

Reverse for 'profile' with arguments '(None,)' not found. 1 pattern(s) tried: ['user/(?P<user_id>[0-9]+)/\\Z']

код шаблона:

{% if user.is_authenticated %}
        <a href="{% url 'general:profile' request.user.id %}">
            <button class="btn btn-dark btn-lg px-4 rounded-pill mr-2" type="button">
                Профиль
            </button>
        </a>
      {% else %}
        <a href="{% url 'auth:login' %}">
            <button class="btn btn-dark btn-lg px-4 rounded-pill mr-2" type="button">
                Войти
            </button>
        </a>
      {% endif %}

Ответы (0 шт):