Как избавиться от "%20Profile" в шаблоне URL
Сначала я ищу пользователя, а затем он переводит меня на страницу со списком пользователей, на которых можно щелкнуть. После этого, когда я выбираю пользователя, на которого хочу нажать, чтобы проверить его профиль, он должен перевести меня на страницу пользователя, которую я хочу увидеть, но здесь у меня возникает проблема. Шаблон URL должен быть, например, /user/MatthewRond/, но вместо этого я получаю /user/MatthewRond%20Profile/, что не позволяет мне увидеть страницу Мэтью, потому что %20Profile никогда не должен был быть в URL. Если я смогу понять, как избавиться от %20Profile, моя проблема будет решена.
Я прочитал, что такое %20 и что я из этого понял: это связано с использованием и работой с буквенно-цифровыми символами. Однако ничего из этого не помогло мне понять, как его удалить. Что касается части кода, я беру имя пользователя по умолчанию из базы данных, затем беру пользовательский профиль, который я создал из этого пользователя по умолчанию. После этого я устанавливаю имя пользователя в пользовательскую модель профиля, которую я создал. Я не думаю, что это ошибка в моих представлениях, возможно, в моих шаблонах или URL.
views.py
def profile_view(request, username, *args, **kwargs,):
context = {}
try:
user = User.objects.get(username=username)
profile = user.profile
img = profile.uploads_set.all().order_by("-id")
context['username'] = user.username
except:
return HttpResponse("Something went wrong.")
if profile and img:
context = {"profile": profile, "img": img}
return render(request, "main/profile_visit.html", context)
search_results.py
<a class="profile-link" href="{% url 'profile_view' username=profile.0 %}">
urls.py
path("user/<str:username>/", views.profile_view, name = "profile_view"),
С помощью Rapheal ошибка будет в классе Profile. Измените это
def __str__(self):
return f'{self.user.username} Profile'
to this.
def __str__(self):
return f'{self.user.username}'
Убрать пробел и Профиль