django - 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>
解决方案
对不起,如果我错了,但我知道你想做两个动作。
在您的代码中,我可以看到您有表单和基于类的视图。也许你需要重写函数 form_valid 来做你提交时需要的操作。
检查这个网站http://ccbv.co.uk那里你会发现意见的细节。
推荐阅读
- python - Python datetime 到日期和时间
- google-bigquery - BigQuery ASOF 加入用例
- python - Python sounddevice 在树莓派上不发出声音
- jquery - 简单的 Jquery 不适用于 Select2 元素
- python - 在列表中拆分基于 numpy 数组的列值
- javascript - 如何循环此 Google Apps 脚本功能?
- python - 如何将熊猫系列索引日期转换为 DatetimeIndex?
- git - 将多个额外的deps包放入堆栈
- identityserver4 - 手动创建和验证 JWT 令牌
- php - WooCommerce 删除计费字段外观和验证强制字段出现