首页 > 解决方案 > django python表单提交,从数据库中删除行并刷新页面

问题描述

我是 Django 的新手,如果有人能帮助我解决这个问题,我将不胜感激。

我在后端有一个包含 100 行用户信息的数据库。姓名,姓氏,电话号码。

该数据库在主页模板上可见,如果您选择其中一个名称,您可以向此人捐赠一些东西。

当您单击提交按钮时,您将进入新的 ajax 窗口,您可以在其中输入数据然后提交。

然后我通过电子邮件收到了你的消息。

我的问题是如何同时确认(提交)和从数据库中删除行(从数据库中的人)然后刷新页面?意思是,当您提交表单时,功能应该立即从主页中删除人员并且必须刷新页面以便您可以看到另一个人?

这是代码。我将不胜感激任何帮助。谢谢大家。

视图.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>

标签: djangopython-3.xdjango-formsdjango-templatesdjango-views

解决方案


对不起,如果我错了,但我知道你想做两个动作。

在您的代码中,我可以看到您有表单和基于类的视图。也许你需要重写函数 form_valid 来做你提交时需要的操作。

检查这个网站http://ccbv.co.uk那里你会发现意见的细节。


推荐阅读