问题描述
我想在同一HTML页面中显示用户提交的值。我可以显示这些值,但是它以python字典格式提供。我得到的结果是:'first_name': 'Tom','last_name': 'Hanks'}
,有什么办法可以分别显示名字和姓氏吗?
这是views.py:
from django.shortcuts import render
from django import forms
class dbnames(forms.Form):
first_name = forms.CharField(label="First Name")
last_name = forms.CharField(label="Last Name")
def index(request):
return render(request,"emp/index.html")
def form_gen(request):
form = dbnames()
if request.method == "POST":
form = dbnames(request.POST)
if form.is_valid():
return render(request,"emp/users.html",{
"form_data": form.cleaned_data
})
else:
print('ERROR')
return render(request,{
"result": form
})
解决方法
def form_gen(request):
form = DbNames()
if request.method == "POST":
form = DbNames(request.POST)
if form.is_valid():
# Because form.cleaned_data return a dict
first_name = form.cleaned_data['first_name']
last_name = form.cleaned_data['last_name']
return render(request,"emp/users.html",{
"first_name": first_name,"last_name": last_name,})
else:
print('ERROR')
return render(request,{
"result": form
})
并访问您模板中的"emp/users.html"
中的这些值。您可以使用django-template-language语法,如下所示:
<p>{{ first_name }} </p>
<p>{{ last_name }}</p>