Как обработать пустое значение аргумента в функции python представления Django?

У меня есть приложение, которое передает имя пользователя из шаблона HTML в URL и функции в представлениях.

views.py

def cv_detail_view(request, username):
    if username=='':
        return redirect("accounts:login")
    else:
        user = get_object_or_404(User, username=username)
        try:
            personal_info = PersonalInfo.objects.get(user=user)
        except PersonalInfo.DoesNotExist:
            # if personal info doesn't exist redirect to create or 404 page.
            if user == request.user:
                return redirect("cvs:create_personal_info")
            else:
                raise Http404("CV Does Not Exist.")

        work_experience = WorkExperience.objects.filter(user=user)
        education = Education.objects.filter(user=user)

        context = {
                    "personal_info": personal_info,
                    "work_experience": work_experience,
                    "education": education,
                  }

        return render(request, "detail.html", context)

Html сниппет:

<li><a class="nav-link" href="{% url 'cvs:cv_detail' username=request.user.username %}">Use templates</a></li>

ursl.py

path(r'^(?P<username>[\w._-]+)/$',views.cv_detail_view,name='cv_detail'),

Моя идея состоит в том, чтобы перенаправлять пользователей на страницу входа в систему, если параметр username пуст, т.е. если пользователь не вошел в систему. Однако я получаю следующую ошибку:

    NoReverseMatch at /
Reverse for 'cv_detail' with keyword arguments '{'username': ''}' not found. 1 pattern(s) tried: ['cvs/\\^\\(\\?P(?P<username>[^/]+)\\[\\\\w\\._\\-\\]\\+\\)/\\$\\Z']
Request Method: GET
Request URL:    http://127.0.0.1:9090/
Django Version: 4.0.6
Exception Type: NoReverseMatch
Exception Value:    
Reverse for 'cv_detail' with keyword arguments '{'username': ''}' not found. 1 pattern(s) tried: ['cvs/\\^\\(\\?P(?P<username>[^/]+)\\[\\\\w\\._\\-\\]\\+\\)/\\$\\Z']

Есть ли способ обрабатывать пустое значение в аргументах функции?

Можно ли добавить в шаблон следующее:

{% if request.user.username %}
  <li><a class="nav-link" href="{% url 'cvs:cv_detail' username=request.user.username %}">Use templates</a></li>
{% endif %}
Вернуться на верх