Итак, я пытаюсь построить систему заявок, но просто застрял при переборе типов заявок в моей модели.По сути, пользователь может решить выбрать любую версию билета, которую он хочет, например, VIP, Regular, Advance и т. Д. Моя проблема заключается в том, чтобы перебирать эти типы и позволить кому-то выбрать количество билетов, которые он хочет купить.Мой код, до сих пор справляющийся с этим, менее чем звездный, но я был бы очень признателен за некоторую помощь.
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseNotFound, HttpResponseBadRequest
from .models import *
from django.shortcuts import render, get_object_or_404
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
def allevents(request):
event_list = Event.objects.all()
carousel = Carousel.objects.filter(show_carousel=True)
page = request.GET.get('page', 1)
paginator = Paginator(event_list, 12)
try:
events = paginator.page(page)
except PageNotAnInteger:
events = paginator.page(1)
except EmptyPage:
events = paginator.page(paginator.num_pages)
return render(request, 'event/index.html', {'events':events, 'carousel':carousel})
def event_details(request, event_id=None):
try:
event = Event.objects.get(pk=event_id)
context = {
'event': event,
'ticket_form': TicketsForm(),
'cart' : request.session.get('cart', [])
}
return render(request, 'event/event_detail.html', context)
except Event.DoesNotExist:
return HttpResponseNotFound('<h1>This event does not exist or has already taken place, sorry for the inconvinience</h1>')
Мой текущий шаблон для обработки этого представления
<div class="grid-container" style="padding-top: 2%;">
<div class="work-feature-block grid-x grid-margin-x">
<div class="cell medium-6">
<img class="work-feature-block-image" src="{{ event.event_poster.url }}" />
</div>
<div class="cell medium-6">
<h2 class="work-feature-block-header">{{ event.name }}</h2>
<p>{{ event.description|safe|linebreaks }}</p>
<h2>Project Details</h2>
<form action="">
{% for eventamount in event.eventamount_set.all %}
<!-- PRODUCT -->
<div class="grid-x grid-margin-x">
<div class="cell medium-6">
<h4>{{ eventamount.amount_packages }}</h4>
<small>{{eventamount.amount}}</small>
</div>
<div class="cell medium-6">
<input type="number" class="idamount" id="{{eventamount.id}}" value='0'>
<input type="number" class="form-control" name="totaltickets" readonly>
</div>
</div>
<hr>
<!-- END PRODUCT -->
{% endfor %}
<input class="button" type="submit" value="submit">
</form>
</div>
</div>
</div>
Плюс, как мне получитьобщая стоимость билетов в шаблоне с использованием javascript приводит к тому, что я действительно не могу это сделать должным образом.
Заранее благодарен за любую предоставленную помощь.
Редактировать: Поэтому я пытаюсь повторитьв форме, в которой указаны типы билетов, чтобы пользователь мог выбрать желаемый билет и сколько он хотел бы купить, а затем показать общую стоимость того, что он выбрал.https://www.ticketsasa.com/events/eventdetail/view/2685/30_billion_concert
Нечто подобное.