나는이 세 가지 기능을 가지고, 내가 그들을 정렬 한 내가 시도하고 show_checkout
속성 오류는 어떻게 처리합니까?
def show_order(request,id):
order = Order.objects.get(pk=id)
if request.method == 'POST':
postdata = request.POST.copy()
if postdata['submit'] == 'Remove':
order.remove_from_order(request)
if postdata['submit'] == 'Update':
order.update_order(request)
if postdata['submit'] == 'checkout':
"""once confirmed order, click checkout and redirect to checkout_form"""
return HttpResponseRedirect(urlresolvers.reverse('checkout',kwargs={'id':order.id}))
....
def show_checkout(request,id):
if request.method == 'POST':
resto = Restaurant.objects.get(pk=id)
postdata = request.POST.copy()
form = forms.CheckoutForm(request.POST,postdata)
if form.is_valid():
"""create order after validating form"""
order_created = create_order(request,resto)
order_number = order_created.id
if order_number:
request.session['order_number'] = order_number
if postdata['submit'] == 'place order':
reciept_url = urlresolvers.reverse('checkout_reciept')
return HttpResponseRedirect(reciept_url)
......
def create_order(request,obj):
"""create new online_order containing each orderitem instance,save order and empty the order."""
anon_user = User.objects.get(id=settings.ANONYMOUS_USER_ID)
resto = Restaurant.objects.get(pk=obj.id)
orders = Order()
checkout_form = forms.CheckoutForm(request.POST,instance=orders)
checkout = checkout_form.save(commit=False)
checkout.created_by = anon_user
checkout.modified_by = anon_user
checkout.restaurant = resto
checkout.status = Order.SUBMITTED
checkout.save()
if checkout.pk:
"""if the order save suceeded"""
for ci in cart_items:
"""create order for each order_item"""
........
이
url(r'^your_order/(?P<id>\d+)/$',show_order,name="order_index"),
url(r'^checkout/(?P<id>\d+)/$',show_checkout,name="checkout"),
내가 AttributeError
, 'Order' object has no attribute 'get_order_items'
를 얻을 URL을 것을 멀리 등
일반적으로 내가하려는 것은 두보기 (show_checkout
,)에 대한 디자인 URL이지만 작동하지 않습니다. 밖으로.
문제는 에서 변수 order=Order.objects.get(pk=id)
사이의 갈등과 내가 위의 코드에 포함하지 않았다 show_checkout
에서 선 order.get_order_items(request)
이었다. 그래서 변수 order
을 에서 orders
으로 변경했습니다. 그 모든 것을 고쳤습니다. 정직한 실수 ...
이'get_order_items'는 어디에서 얻었습니까? 난 코드에서 찾으려고 – catherine
그것의 예외 장고가 생성 ..하지만 코드 에서이 아니야 –
당신은 또한 오류의 전체 추적을 게시 할 수 있습니까 – catherine