首页 > 解决方案 > 如何在 2 个不同的页面中保持具有相同功能的表单输入

问题描述

伙计们,我是 django 的新手,想学习如何在 2 中保持相同的输入字段

不同的页面。

forms.py

class StudentForm(forms.ModelForm):
        name = forms.CharField(max_length=150)

        class Meta:
            model = Student
            fields = ['name',]

main.html我有:

<form method="POST" >
              {% csrf_token %}
              {{ form}}
              <button class = "btn btn-primary" type="submit">OK</button> 

</form>

views.py

def studinfo(request):
    form = StudentForm(request.POST or None)
    if request.method == "POST":
        if form.is_valid():
            form1 = form.save(commit=False)
            name = form1.name
            background=Student.objects.get(stud_name=name)

            context={'profile':background ,}

            return render(request, 'main/stud_info.html', context)

    return render(request, 'main/main.html', context={'form':form})

提交表单后,它会stud_info.html根据表单中的输入值定向到显示结果的位置main.html

我的问题是如何将表单输入保留在stud_info.html具有相同功能的页面中,main.html这样我就不必返回main.html页面来查找新值?

到目前为止,我尝试简单地将main.html表单复制到stud_info.html它只显示OKbutoon而没有任何内容的方式中。

我将不胜感激找到解决方案的任何帮助和指导。

提前致谢。

标签: djangoforms

解决方案


在你想要的 student/main.html 中。 {% include 'student/snippets/form.html' with form=form %}

并在 student/snippets 文件夹form.html中使用您的表单创建。

<form method="POST" >
{% csrf_token %}
{{ form}}
<button class = "btn btn-primary" type="submit">OK</button> 
</form>

推荐阅读