Url содержит неправильное значение
Как мне передать относительный url со страницы, с которой я пришел.
url.com/calendar -> нажмите editprofile -> он делает url.com/editprofile//calendar -> где мне нужно было url.com/calendar
urls.py
path('editProfile/<str:page>/', editProfile, name='editProfile'),
html:
{% block content %}
<form method = "POST" action='editProfile/{{request.get_full_path}}/' enctype="multipart/form-data">
{% csrf_token %}
{{ editProfileForm.as_p }}
<input type="submit" name="editProfileForm" value="Upload">
</form>
{% endblock %}
views.py
@login_required
@require_http_methods(["POST"])
def editProfile(request,page):
context={}
editProfileForm = UserProfileForm(request.POST or None, request.FILES or None,instance=request.user)
# Rework this to get url and then set nmenu to that value
print(page)
if page =='':
context['nmenu']='home'
else:
context['nmenu']=page
if editProfileForm.is_valid():
editProfileForm.save()
editProfileForm = UserProfileForm(instance=request.user)
context['editProfileForm'] = editProfileForm
context['is_post'] = False
return render(request, "home.html", context)
else:
context['is_post'] = True
context['editProfileForm'] = editProfileForm
return render(request, "home.html", context)
request.get_full_path
возвращает /calendar
, что приводит к'editProfile/' + '/calendar' = 'editProfile//calendar'
Если я правильно вас понял, вы хотите просто '/calendar'
, правильно? Чтобы вы могли достичь вашего представления как POST-запрос?
Тогда вам нужно просто удалить editProfile/
из действия формы.