я получаю сообщение об ошибке
django.urls.exceptions.NoReverseMatch: отменить 'change_view' с аргументами ключевого слова '{' view_type ':' sla ',' curr_url ':' / home /'}' не найдено.Попробован 1 шаблон (ов): ['change_view \ / (? P [^ /] +) \ / $']
Использование django 2.1.7 и python 3.6 версии
я попытался добавить оба аргумента в качестве динамических полей в urls.py
home.html
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true"><i class="fa fa-eye fa-fw"></i>View<span class="caret"></span></a>
<ul class="dropdown-menu">
<li {% if session.view == 'sla' %}class="disabled"{% endif %}><a href="{% url 'change_view' view_type='sla' curr_url=request.get_full_path %}"><i class="fa fa-bar-chart-o fa-fw"></i>SLA</a></li>
<li {% if session.view == 'priority' %}class="disabled"{% endif %}><a href="{% url 'change_view' view_type='priority' curr_url=request.get_full_path %}"><i class="fa fa-trophy fa-fw"></i>Priority</a></li>
</ul>
</li>
urls.py
urlpatterns = [
path('change_view/<str:view_type>/', views.change_view , name='change_view'),
]
view.py
def change_view(request,view_type=None):
request.session['view'] = view_type
request_data = json.loads(request.body)
curr_url = request_data['curr_url']
return redirect(curr_url)
Я хочу, чтобы функция change_view установила request.session ['view'] для выбранного пользователем ввода и оставалась на том же URL.