У меня есть этот тег <a href = '/mysite/goto_home/Yax/'>Yax</a>
Джанго HttpResponseRedirect (реверс ('URL')) Возвращает NoReverseMatch Error
Я хочу, если пользователь нажимает на нее, он/она должен быть перенаправлен на этот URL:
url(r'^user/(?P<user_id>\d+)/(?P<user_name>[-\w]+)/$', views.user_profile, name='user_profile')
Но это дает мне NoReverseMatch at /mysite/goto_home/Yax/ Reverse for 'user_profile' with arguments '()' and keyword arguments '{'user_id': 2, 'user_name': u'Mokwa'}' not found. 1 pattern(s) tried: [u'mysite/user/(?P<user_id>\\d+)/(?P<user_name>[-\\w]+)/$']
views.py:
def profile(request, user_name):
try:
user = Users.objects.get(username = user_name)
except Users.DoesNotExist:
user = none
if user is not None:
return HttpResponseRedirect(reverse('mysite:user_profile', kwargs={'user_id': int(user.id), 'user_name':user.name}))
def user_profile(request, user_id, user_name):
pass
Как я могу это решить?
Можете ли вы показать метод 'get_absolute_url' вашей модели и как вы указали URL-адрес в своем шаблоне? Ссылка, которую вы указали, - это «HTML», которая может быть результатом, который вы создали, но это не то, с чем имеет дело интерпретатор Python. –
Почему вы это делаете, а не просто отправляете их прямо в представление через собственный URL-адрес в теге 'a'? – Ngenator