为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Django 发布表单而不重新加载页面

如何使用 Django 发布表单而不重新加载页面

白衣染霜花 2021-09-28 14:13:04
我正在开发一个应用程序,用户将在其中提交一个值,我想在提交时隐藏包含表单的 div 并显示一个包含结果的 div。目标是让他们提交表单并显示不同的隐藏 div。我在使用 Django 代码或 Javascript 时做错了什么?视图.pyfrom django.shortcuts import renderfrom .models import VintageMacfrom .forms import VintageMacFormdef home(request):    if request.method == "POST":        form = VintageMacForm(request.POST)        if form.is_valid():            form.save()            form = VintageMacForm()    else:        form = VintageMacForm()    return render(request, 'hmwypapp/index.html', {'form': form})网址.pyfrom django.urls import pathfrom . import viewsurlpatterns = [    path('', views.home, name='home'),]模型.pyfrom django.conf import settingsfrom django.db import modelsfrom django.utils import timezonefrom django import formsclass VintageMac(models.Model):    price = models.IntegerField()    def publish(self):        self.save()    def __str__(self):        return '%s' % (self.price)表格.pyfrom django import formsfrom .models import VintageMacclass VintageMacForm(forms.ModelForm):    class Meta:        model = VintageMac        fields = ('price',)
查看完整描述

2 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超6个赞

排队:

<button onclick="myFunction1()" class="mt-1 text-center form-control btn submit-btn">Submit <span>🤑</span></button>

删除onclick处理程序,添加type具有 value 的属性submit

更新后的行应如下所示:

<button type="submit" class="mt-1 text-center form-control btn submit-btn">Submit <span>🤑</span></button>

并将选项对象中的url键更新$.ajax/create_post/(来自form标签action属性)


查看完整回答
反对 回复 2021-09-28
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

1- 我认为您忘记关闭 javascript 标签,这就是它不起作用的原因。
2-将提交按钮更改为如下所示:

<input type="submit" class="mt-1 text-center form-control btn submit-btn" value="Submit"><span>🤑</span></div>

3-您也忘记在 ajax 中添加 csrf 令牌,它应该是这样的:

csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val(),

干杯:)


查看完整回答
反对 回复 2021-09-28
  • 2 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信