Вам необходимо использовать функцию reverse ()
utils.
from django.urls import reverse
# or Django < 2.0 : from django.core.urlresolvers import reverse
def myview(request):
return HttpResponseRedirect(reverse('arch-summary', args=[1945]))
Где args
удовлетворяет всем аргументам в регулярном выражении вашего URL-адреса. Вы также можете указать именованные аргументы, передав словарь.
Более краткий способ написать, что оператор if будет if request.session.get ('user')
. has_key в настоящее время устарел, а .get () возвращает None (по умолчанию, можно изменить, передав второй параметр).
Итак, объединив это с ответом Совиута:
from django.core.urlresolvers import reverse
def login(request):
if request.session.get('user'):
return HttpResponseRedirect(reverse('my-named-url'))