我是Django的新手,如果有人可以帮助我解决此问题,我将不胜感激。
我在后端有一个数据库,其中包含100行用户信息。 姓名,姓氏,电话号码。
该数据库在主页模板上可见,如果您选择此名称之一,则可以向此人捐赠一些东西。
当您单击Submit(提交)按钮时,您将进入新的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>
答案 0 :(得分:0)
很抱歉,如果我错了,但我知道您想执行两项操作。
在您的代码中,我可以看到您具有表单和基于类的视图。也许您需要重写form_valid函数以执行提交时所需的操作。
访问该网站http://ccbv.co.uk,您将在其中找到视图的详细信息。
答案 1 :(得分:0)
单击“提交”后,首先单击url,然后在电子邮件部分中处理您的消息,然后可以通过在数据库中编写查询,使用该表具有的主键过滤出特定人员的对象,从而从数据库中删除该人员。视图。然后将该表格的剩余数据从提交点击中呈现到您要重定向的模板上。
通过以上对话,我了解到您不想从数据库布尔字段中删除该人,这是个不错的选择,而您想保存通过这种方式从电子邮件发送来的消息,您可以同时进行。您已将消息保存在数据库中,并且空消息数据中的消息可以在模板上呈现这些用户。