gpt4 book ai didi

python - 将两个 View 渲染到一个 html 模板

转载 作者:行者123 更新时间:2023-12-04 02:07:25 24 4
gpt4 key购买 nike

我有两个 View ,我想将这些 View 呈现为一个 HTML 页面。我知道如何将单个 View 呈现到 HTML 页面,但不知道如何将两个 View 呈现到单个 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.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>

与 URL 相对应的单一 View 。

最佳答案

不可能将两个不同的 View 呈现到同一个模板中,但您可以在单个 View 中添加这两种逻辑,然后在其中呈现两种形式:

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

通过这种方法,您的两个表单都可以被处理,只要其中任何一个被发布,值将被相应地保存。

关于python - 将两个 View 渲染到一个 html 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42132010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com