2016-06-29 2 views
2

저는 장고 URL에 인수와 keword 인수를 파견하는 방법을 이해하는 데 정말로 어려움을 겪고 있습니다.Django는 인수를하지 않습니다.

내가 일반적인 기준 뷰를 사용하여 뷰를했습니다 : 내가 "localhost:8000/cart/?item=4&qty=200" 같은 URL에 aurguments 작업 할 수 있었다 위의보기로

class CartView(View): 
    def get(self, request, *args, **kwargs): 
     item = request.GET.get('item') 
     qty = request.GET.get('qty') 
     print item, qty 
     return HttpResponseRedirect('/') 

를하고 터미널에서 수량 항목을 인쇄 사례 연구입니다 다음 . 같은 코드에서

마자이 만든 변경 : "localhost:8000/cart/?item=4&qty=200" 같은 동일한 방법으로 통과 인수가

from carts.models import Cart, CartItem 
from products.models import Variation 


class CartView(View): 
    def get(self, request, *args, **kwargs): 
     item_id = request.GET.get('item') 
     if item_id: 
      item_instance = get_object_or_404(Variation, id=item_id) 
      qty = request.GET.get('qty') 
      cart = Cart.objects.all()[0] 
      cart_item = CartItem.objects.get_or_create(cart=cart, item=item_instance)[0] 
      cart_item.quantity = qty 
      cart_item.save() 
      print cart_item 
     return HttpResponseRedirect('/') 

그것은 나에게 오류 보여줍니다

404 Page Not Found No Variation matches the given query.

urls.py를

urlpatterns = [ 
    url(r'^home/$', 'newsletter.views.home', name='home'), 
    url(r'^contact/$', 'newsletter.views.contact', name='contact'), 
    url(r'^about/$', 'project.views.about', name='about'), 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^accounts/', include('registration.backends.default.urls')), 
    url(r'^cart/$', CartView.as_view(), name='cart'), 
    url(r'^', include('products.urls')), 
    url(r'^categories/', include('products.urls_categories')), 
+0

[Django의 {% url %} 템플릿 태그를 통해 쿼리 매개 변수를 전달할 수 있습니까?] (http://stackoverflow.com/questions/4591525/is-it-possible-to-pass-query- parameters-via-djangos-url-template-tag) – Sayse

+2

ID가 4 인 Variation 객체가 없기 때문에 –

+0

변형 객체가있는 짝수 제품의 인수를 전달했습니다. 같은 문제. 둘째, 기본 변형을 사용하는 모든 제품을 카트에서 더 잘 처리 할 수 ​​있도록 post_save 신호를 생성했습니다. 이제 변형에 대한 카트를 구현합니다. –

답변

2

404 Page Not Found

No Variation matches the given query.

item_instance = get_object_or_404(Variation, id=item_id) 

을 그리고 당신은 주어진 id 일치하는 Variation 개체가 없음을 의미 :이 메시지는 라인에서 온다.

관련 문제