Джанго Билетная форма - PullRequest
0 голосов
/ 22 ноября 2018

Итак, я пытаюсь построить систему заявок, но просто застрял при переборе типов заявок в моей модели.По сути, пользователь может решить выбрать любую версию билета, которую он хочет, например, 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

Нечто подобное.

...