Django redirect не достигает корневого url
Похоже, что redirect(<url>)
добавляет <url>
к текущему url представления, игнорируя urls.py
, в отношении Code ниже перенаправляет на "<mydomain>.com/savePersonalEdits/account/
", в то время как я хотел: "<mydomain>.com/account/
"
Код:
В конце некоторой функции представления Django у меня есть:
return redirect('account/')
Урлы:
path('account/', views.accountSettings),
path('savePersonalEdits/', views.saveEdits, name="savePersonalEdits") #name needed for HTML form action url
для этого можно использовать HttpResopnseRedirect
from django.http import HttpResponseRedirect
return HttpResponseRedirect('/account/')
также есть лучший способ перенаправления, создайте name
свой путь в ulrs.py
path('account/', views.accountSettings, name="account_url_name"),
#and in your views import reverse and HttpResponseRedirect
from django.urls import reverse
from django.http import HttpResponseRedirect
return HttpResponseRedirect(reverse("account_url_name"))
Просто сделай это
return redirect('/account/')
или
return redirect('account')