Python 将两个视图呈现为单个html模板
我有两个视图,我想将这些视图呈现到一个HTML页面。我知道如何将单个视图呈现到HTML页面,但不知道如何将两个视图呈现到单个HTML页面 views.py文件Python 将两个视图呈现为单个html模板,python,django,django-views,Python,Django,Django Views,我有两个视图,我想将这些视图呈现到一个HTML页面。我知道如何将单个视图呈现到HTML页面,但不知道如何将两个视图呈现到单个HTML页面 views.py文件 from django.shortcuts import render from django.http import HttpResponse from app.models import * # Create your views here. def collegeview(request): if request.met
from django.shortcuts import render
from django.http import HttpResponse
from app.models import *
# Create your views here.
def collegeview(request):
if request.method == 'POST':
form = collegeform(requst.POST)
if form.is_valid():
form.save()
return HttpResponse('its done here')
else:
form = collegeform()
return render(request, 'about.html', {'form':form})
def schoolview(request):
if request.method == 'POST':
f = schoolform(requst.POST)
if f.is_valid():
f.save()
return HttpResponse('its done here')
else:
f = schoolform()
return render(request, 'about.html', {'f':f})
关于.html
<html>
<body>
<h1>its working </h1>
first view <br>
<form action ='' method = 'POST'> {% csrf_token %}
{{form.as_p}}
<input type='submit' name='submit'>
</form>
2nd view<br>
<form action='' method='POST'> {% csrf_token %}
{{f.as_p}}
<input type='submit' name='submit'>
</form>
</body
</html>
它起作用了
第一视图
{%csrf_令牌%}
{{form.as_p}}
第二视图
{%csrf_令牌%}
{{f.as_p}
无法将两个不同的视图渲染到同一个模板,但可以在单个视图中添加两个逻辑,然后在其中渲染两种形式:
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})
通过此方法,两个表单都可以处理,并且无论何时其中任何一个表单被发布,都会相应地保存值