Я не смог сохранить свои данные в админке. Он просто перенаправляет меня на главную страницу.

  • Вот мой код View.py. слышу, что он перенаправляет меня на главную страницу и не сохраняет мои данные в панели администратора. **если я отступлю назад else condition

Блочная цитата

else: form = OrderForm() return redirect('home')

Блочная цитата

выдает ошибку - ValueError at /orders/place_order/ Представление orders.views.place_order не вернуло объект HttpResponse. Вместо этого оно вернуло None.**

def place_order(request, total=0, quantity=0,):
        current_user = request.user
        # if cart count is less then 0 or equel to 0, then redirect to shop
        cart_items = CartItem.objects.filter(user=current_user)
        cart_count = cart_items.count()
        if cart_count <= 0:
            return redirect('store')
        grand_total = 0
        tax = 0
        for cart_item in cart_items:
            total += (cart_item.product.price*cart_item.quantity)
            quantity += cart_item.quantity
        tax = (12 * total)/100
        grand_total = total + tax
        if request.method == 'POST':
            form = OrderForm(request.POST)
            if form.is_valid():
                # store all the information inside belling table
                data = Order()
                data.user = current_user
                data.first_name = form.cleaned_data['first_name']
                data.last_name = form.cleaned_data['last_name']
                data.phone = form.cleaned_data['phone']
                data.email = form.cleaned_data['email']
                data.address_line_1 = form.cleaned_data['address_line_1']
                data.address_line_2 = form.cleaned_data['address_line_2']
                data.country = form.cleaned_data['country']
                data.provence = form.cleaned_data['provence']
                data.zone = form.cleaned_data['zone']
                data.district = form.cleaned_data['district']
                data.order_note = form.cleaned_data['order_note']
                data.order_total = grand_total
                data.tax = tax
                data.ip = request.META.get('REMOTE_ADDR')
                data.save()
                # genarate order no
                yr = int(datetime.date.today().strftime('%y'))
                dt = int(datetime.date.today().strftime('%d'))
                mt = int(datetime.date.today().strftime('%m'))
                d = datetime.date(yr,mt,dt)
                current_date = d.strftime("%y%m%d")
                order_number = current_date + str(data.id)
                data.order_number = order_number
                data.save()
                return redirect('checkout')               
            # return redirect('store')
            else:
                form = OrderForm()
                return redirect('home')

Главное - это мой код Form.py.

class OrderForm(forms.ModelForm):
    class Meta:
        model = Order
        fields = ['first_name', 'last_name', 'phone', 'email', 'address_line_1', 'address_line_2', 'country', 'provence', 'zone', 'district','order_note']
Вернуться на верх