猿问

django表单提交后如何重定向到另一个网页并将表单数据发送到后端数据库

目的:当提交 django 表单以将数据发送并保存到管理端时。


问题:我可以在提交表单后将其重定向到另一个页面,但是当我进入管理端时,数据不会保存。我怎样才能解决这个问题?使用 Django 还是 JavaScript?


html:



    <form method="post"  >

                        {% csrf_token %}

                        {{form.as_p}}

                        <input class="btn" type="submit" value="Log In">

                    </form>


models.py:



    from django.db import models

    from django import forms

    

    

    

    class Customer(models.Model):

        first_name = models.CharField(max_length=200, verbose_name='')

        last_name = models.CharField(

            max_length=200, verbose_name='')

    

        def __str__(self):

            return self.first_name + ', ' + self.last_name


forms.py:



    from django.forms import ModelForm

    from django import forms

    from .models import Customer

    

    

    class CustomerForm(ModelForm):

        class Meta:

            model = Customer

            fields = '__all__'


views.py:


from django.shortcuts import render

from .forms import CustomerForm



def index(request):


    form = CustomerForm()


    if request.method == 'POST':

        form = CustomerForm(request.POST)

        if form.is_valid():

            form.save()


    context = {'form': form}

    return render(request, 'app/index.html', context)



白衣非少年
浏览 136回答 3
3回答

HUX布斯

写完 form.save() 你可以说:返回重定向(重定向到的链接)验证并保存表单后,这会将您重定向到所选位置。

慕斯王

保存表单后添加一行# put link inside -> " "return redirect("Link")

明月笑刀无情

将 html 更改为 method="POST"if request.method == 'POST':&nbsp; &nbsp; form = CustomerForm(request.POST)&nbsp; &nbsp; if form.is_valid():&nbsp; &nbsp; &nbsp; &nbsp; form.save()&nbsp; &nbsp; &nbsp; &nbsp; return redirect('urlname')else:&nbsp; &nbsp; form = CustomerForm()context = {'form': form}return render(request, 'app/index.html', context)
随时随地看视频慕课网APP

相关分类

Python
我要回答