Кажется, есть проблема с возвратом значения order.pk с помощью Django - PullRequest
0 голосов
/ 24 февраля 2011
(r'^search/(?P<client_id>\d+)/(?P<order_no>\d+)/test_items/$', views.test_items),

Мне нужна ссылка, по которой можно перейти по этому URL-адресу views.service_order2. К сожалению, я получаю ошибку NoReverseMatch.

(r'^quote/service_order/(?P<client_id>\d+)/(?P<order_no>\d+)/(?P<request_type>\d+)/$', views.service_order2),

Caught NoReverseMatch while rendering: Reverse for 'tiptop.views.service_order2' with arguments '('', 17L, 1)' and keyword arguments '{}' not found

Проблема в том, что мой заказ не имеет значения pk. Однако я проделал ту же процедуру с представлением test_items, и это сработало нормально. Почему в одном из моих представлений я могу вернуть значение order.pk, но в другом (представление service_order2) я не могу задать вопрос.

#views.py
def service_order2(request, client_id = 0, order_no = 0, request_type = 1):
    # A lot of code
    order=request.session['order']
    return render_to_response('service_step1__2nd.html', {'contacts':contacts, 'addresses':addresses, 'title':title, 'service_list':service_list, 'date_type':date_type, 'address_type':address_type, 'order':order}, context_instance = RequestContext(request))

def test_items(request, client_id = 0, order_no= 0):
    client = None
    items = None
    try:
        client = models.Client.objects.get(pk = client_id)
        items = client.storageitem_set.all()
        order=request.session['order']
    except:
        return HttpResponse(reverse(return_clients))
    return render_to_response('test.html', {'items':items, 'client':client, 'order':order}, context_instance = RequestContext(request))

В моем шаблоне test.html эта ссылка на тег шаблона написана внутри.

<input type="submit" value="Request Delivery" onclick="change_action('{% url tiptop.views.service_order2 order.pk client.pk 1 %}')"/>

1 Ответ

0 голосов
/ 25 февраля 2011

Из сообщения об ошибке кажется, что client_id пуст.

...