Reverse for 'athlete_profile' with arguments '('',)' not found. 1 pattern(s) tried: ['users/profile/athlete/(?P<username>[^/]+)/\\Z']

i just changed <str:username> to <str:name>

That’s a mistake unless you also change the view to accept name as the parameter.

The parameter name in the url has no relationship to the name of the variable being used in the url tag. They do not need to match. It’s a “positional” relationship.
However, the name of the parameter in the url does need to match what the view is looking for as the parameter name.

What is your “home.html” that is being rendered by your home page view?

home.html :

{% extends 'base.html' %}
{% block content %}
  <h1>Welcome to COMBAT-CON</h1>
  <p>Register as an athlete or host to get started.</p>
  <a href="{% url 'users:register' %}">Register</a>
{% endblock %}

changed all the view functions to accept name as the parameter.

I don’t see a {% block content %} tag in your base.html. You’ll never see this part of the page.

my entire base.html:

<!DOCTYPE html>
<html>
<head>
  <title>{% block title %}COMBAT-CON{% endblock %}</title>
</head>
<body>
  <nav>
    <div>
      <a href="{% url 'home' %}">Combat-Con</a>
    </div>
    <div>
      <a href="{% url 'events:event_list' %}">Events</a>
      {% if request.user.is_authenticated %}
        {% if request.user.is_athlete %}
          <a href="{% url 'users:athlete_profile' user.athlete.name %}">Athlete Profile</a>
        {% elif request.user.is_host %}
          <a href="{% url 'users:host_profile' user.host.name %}">Host Profile</a>
          {% endif %}  
        <a href="{% url 'users:user_logout' %}">Logout</a>
      {% else %}
        <a href="{% url 'users:register' %}">Register</a>
        <a href="{% url 'users:login' %}">Login</a>
      {% endif %}
    </div>
  </nav>
  
  <div class="container">
    {% block content %}{% endblock %}
  </div>
  
  <footer>
    <p>2023 Combat-Con</p>
  </footer>
</body>
</html>

I’ll admit to being really puzzled at this point.

I don’t understand yet how this expression:

is evaluating to True since I can’t see any place where you’re adding request to the context of the template being rendered. From what I’m seeing, that entire portion of the template shouldn’t even be attempted at being rendered.

Do you by any chance have another “base.html” file anywhere within your project?

this is the only base.html i have

How are you running your code here, and are you restarting it every time you’re changing your template?

Hey. The error occurred because I had opened the admin page in another tab and was logged in at that time. I simply had to log out of the admin page and reload the page.