Форма Python Django для отправки, удаления строки из базы данных и обновления страницы - PullRequest
0 голосов
/ 12 октября 2018

Я новичок в Django, и я был бы признателен, если бы кто-нибудь помог мне с этой проблемой.

У меня есть база данных в бэкэнде со 100 строками информации о пользователях.Имя, фамилия, номер телефона.

База данных отображается в шаблоне домашней страницы, и если вы выберете одно из этих имен, вы можете пожертвовать что-то этому человеку.

При нажатии кнопки отправки будетприведет вас в новое окно AJAX, где вы вводите свои данные и затем отправляете.

Затем я получил ваше сообщение по электронной почте.

Мои вопросы, как это сделать одновременно, чтобы подтвердить (отправить)и удалить строку из базы данных (человек из базы данных), а затем обновить страницу?То есть, когда вы отправляете форму, функция должна сразу удалить человека с домашней страницы и обновить страницу, чтобы вы могли увидеть другого человека?

Вот код.Буду признателен за любую помощь.Спасибо всем.

views.py

def about(request):
    context = {
        'num_toys': '1',
    }
    return render(request, 'about.html')  # , context=context


def couses(request):
    db_queryset = Children.objects.all()
    context = {'child': db_queryset}

    return render(request, 'couses.html', context=context)


class ChildrenListView(ListView):
    model = Children
    context_object_name = 'child'


class ChildrenCreateView(CreateView):
    model = Children
    form_class = ChildrenForm
    success_url = reverse_lazy('children_changelist')


class ChildrenUpdateView(UpdateView):
    model = Children
    form_class = ChildrenForm
    success_url = reverse_lazy('children_changelist')


class ChildrenDetailView(DetailView):
    model = Children
    form_class = ChildrenForm
    success_url = reverse_lazy('children_detail')

children_detail.html

      



      
           <!-- Start contact form area -->
	    <div class="couses">		
        <section class="contact-form-area pb-60 pt-90">
			<div class="couses">
            <div class="container">
                <div class="row">
                    <!-- Start section title -->
                    <div class="col-sm-12">
                        <div class="section-title text-center">
							<h2>Donate <span> {{ children.toy }} </span> to <span>{{ children.name }}</span> who is <span>{{children.date }} old</span></h2>
                            <img src="static/children/img/title-bottom.png" alt="">
                        </div>
                    </div>
                    <!-- End section title -->
                    <div class="col-sm-12">
                        <div class="contact-form">
                            <form id="contact-form" method="POST" action="mail.php">
                                <div class="form-fields">
                                    <label for="name">Name</label>
                                    <input id="name" name="name" type="text" placeholder="Your Name" required>
                                </div>
                                <div class="form-fields">
                                    <label for="email">Email</label>
                                    <input id="email" name="email" type="text" placeholder="Your Email" required>
                                </div>
                                <div class="form-fields last">
                                    <label for="phone">Phone</label>
                                    <input id="phone" name="phone" type="text" placeholder="Your Phone" required>
                                </div>
                                <div class="message-fields">
                                    <label for="mess">Message</label>
                                    <textarea name="mess" id="mess" cols="30" rows="10" placeholder="Message"></textarea>
                                </div>
                                <div class="form-button">
                                    <button type="submit">Send your message</button>
                                    <button type="reset">Reset</button>
                                </div>
                            </form>
                            
                            <p class="form-messege"></p>

                        </div>
                    </div>
                </div>
            </div>
			</div>
        </section>

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

По щелчку на кнопку отправьте ссылку и обработайте ваше сообщение сначала по электронной почте, а затем вы можете удалить человека из базы данных, отфильтровав объект этого конкретного человека по первичному ключу, который у вас есть для этой таблицы, написав запрос в вашемПосмотреть.а затем отобразите оставшиеся данные этой таблицы в шаблон, на который вы перенаправляете, нажав на кнопку "Отправить".

Из приведенного выше разговора я понял, что вы не хотите удалять этого человека из логического поля базы данных:отличный вариант, скорее вы хотите сохранить сообщение, которое было отправлено из электронной почты, таким образом, вы можете сделать оба одновременно.у вас есть сообщение, сохраненное в вашей базе данных, и из пустых данных сообщения вы можете отобразить этого пользователя в шаблоне.

0 голосов
/ 12 октября 2018

извините, если я ошибаюсь, но я понимаю, что вы хотите сделать два действия.

В вашем коде я вижу, что у вас есть формы и представления на основе классов.Возможно, вам нужно переопределить функцию form_valid, чтобы выполнять необходимые операции при отправке.

Проверьте этот веб-сайт http://ccbv.co.uk, там вы найдете подробную информацию о просмотрах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...