08
Апр
2017

как работает redirect() в django?

Доброго времени суток, имеется следующая проблема:

При использовании redirect() пишет ошибку:

NoReverseMatch at /owner/new/change Reverse for 'order_status' with arguments '()' and keyword arguments '{'id_order': (1,)}' not found. 1 pattern(s) tried: ['owner/details']

views.py:

def order_manage(request):
    if request.method == 'POST':
        form = ManageForm(request.POST)
        if form.is_valid():
            id_order = form.cleaned_data['id_order']
        return redirect('order_status', {'id_order': id_order})

.....

def order_status(request):
    return render_to_response('app/owner/order_details_new.html')

Если убрать передачу переменной ({'id_order': id_order}) из order_manage() - работает.

Пожалуйста, помогите с решением проблемы, и по возможности поясните принцип работы redirect() при передаче доп. переменных.

Источник: https://ru.stackoverflow.com/questions/651197/%D0%BA%D0%B0%D0%BA-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-redirect-%D0%B2-django

Share

Тебе может это понравится...