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

我正在开发一个应用程序,用户将在其中提交一个值,我想在提交时隐藏包含表单的 div 并显示一个包含结果的 div。目标是让他们提交表单并显示不同的隐藏 div。我在使用 Django 代码或 Javascript 时做错了什么?


视图.py


from django.shortcuts import render

from .models import VintageMac

from .forms import VintageMacForm


def 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})

网址.py


from django.urls import path

from . import views


urlpatterns = [

    path('', views.home, name='home'),

]

模型.py


from django.conf import settings

from django.db import models

from django.utils import timezone

from django import forms


class VintageMac(models.Model):

    price = models.IntegerField()


    def publish(self):

        self.save()


    def __str__(self):

        return '%s' % (self.price)

表格.py


from django import forms


from .models import VintageMac


class VintageMacForm(forms.ModelForm):

    class Meta:

        model = VintageMac

        fields = ('price',)


白衣染霜花
浏览 168回答 2
2回答

qq_花开花谢_0

排队:<button&nbsp;onclick="myFunction1()"&nbsp;class="mt-1&nbsp;text-center&nbsp;form-control&nbsp;btn&nbsp;submit-btn">Submit&nbsp;<span>🤑</span></button>删除onclick处理程序,添加type具有 value 的属性submit。更新后的行应如下所示:<button&nbsp;type="submit"&nbsp;class="mt-1&nbsp;text-center&nbsp;form-control&nbsp;btn&nbsp;submit-btn">Submit&nbsp;<span>🤑</span></button>并将选项对象中的url键更新$.ajax为/create_post/(来自form标签action属性)

蓝山帝景

1- 我认为您忘记关闭 javascript 标签,这就是它不起作用的原因。2-将提交按钮更改为如下所示:<input&nbsp;type="submit"&nbsp;class="mt-1&nbsp;text-center&nbsp;form-control&nbsp;btn&nbsp;submit-btn"&nbsp;value="Submit"><span>🤑</span></div>3-您也忘记在 ajax 中添加 csrf 令牌,它应该是这样的:csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val(),干杯:)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python