43
del request.session['cart_id']
del request.session['total']
return HttpResponseRedirect(reverse('thank_you'))
return render(request, 'order.html', {'categories':categories})
Если форма заполнена верно, то заказ заносится в БД, а пользовательская
корзина очищается. Пользователя перенаправляет на информативную
страницу.
Функция account_view() используется для перенаправления
пользователя в личный кабинет.
def account_view(request):
order = Order.objects.filter(user=request.user).order_by('-id')
categories = Category.objects.all()
context ={
'order': order,
'categories':categories,
}
return render(request, 'account.html', context)
В личном кабинете пользователь может посмотреть на свои заказы –
ознакомиться с их деталями и на какой стадии выполнения находится заказ.
Если я ничего не забыл, то все важные функции и классы бизнес логики были
описаны.
Теперь рассмотрим скрипты JS [2], используемые для отображения
информации на страницах.
<script src='{% static "js/jquery.js" %}'></script>
<script>
$(document).ready(function () {
$('#div_id_address').css('display', 'none')
$('#id_buying_type').on('click', function () {
buying_type = $(this).val()
if(buying_type == 'delivery'){
$('#div_id_address').css('display', 'block')
}else {
$('#div_id_address').css('display', 'none')
}
})
$('#id_date_month').css('width', '100px')
$('#id_date_month').css('display', 'inline')
$('#id_date_year').css('width', '100px')
$('#id_date_year').css('display', 'inline')
$('#id_date_day').css('width', '100px')
$('#id_date_day').css('display', 'inline')
})
</script>