将两个视图渲染到单个html模板

时间:2017-02-09 08:52:02

标签: python django django-views

我有两个视图,我想将这些视图呈现给单个HTML页面。我知道如何将单个视图呈现给HTML页面,但不知道如何将两个视图呈现给单个HTML页面。

views.py文件

D d

about.html

B

单个视图与URL对应。

1 个答案:

答案 0 :(得分:1)

无法为同一个模板呈现两个不同的视图,但您可以在一个视图中添加两个逻辑,然后在其中呈现两个表单:

from django.shortcuts import render
from django.http import HttpResponse
from app.models import *

def institute_view(request):

    f = schoolform(requst.POST or None)
    form = collegeform(requst.POST or None)
    if request.method == 'POST':
        if form.is_valid():
            form.save()
            return HttpResponse('its done here')
        elif f.is_valid():
            f.save()
            return HttpResponse('its done here')
        else:
            f = schoolform()
            form = collegeform()

    return render(request, 'about.html', {'f':f,'form':form})

通过这种方法,您可以处理两个表单,无论何时发布任何表单,都会相应地保存这些值。