在同一个HTML页面中显示Django表单中用户提交的值,可以通过以下步骤实现:
django.forms.Form
,并定义表单字段和验证规则。from django import forms
class MyForm(forms.Form):
name = forms.CharField(label='Name')
email = forms.EmailField(label='Email')
from django.shortcuts import render
from .forms import MyForm
def my_view(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
email = form.cleaned_data['email']
return render(request, 'my_template.html', {'name': name, 'email': email})
else:
form = MyForm()
return render(request, 'my_template.html', {'form': form})
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
{% if name and email %}
<p>Name: {{ name }}</p>
<p>Email: {{ email }}</p>
{% endif %}
在上述代码中,form.as_p
会将表单字段以段落的形式显示出来,{% csrf_token %}
用于防止跨站请求伪造(Cross-Site Request Forgery)攻击。
这样,当用户提交表单时,表单数据会被传递给视图函数进行处理,然后将处理后的数据传递给模板进行显示。如果用户提交了有效的表单数据,模板中的{% if name and email %}
条件判断会成立,从而显示用户提交的姓名和邮箱。
推荐的腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)和腾讯云对象存储(https://cloud.tencent.com/product/cos)。
请注意,以上答案仅供参考,具体实现方式可能因项目需求和环境而异。
领取专属 10元无门槛券
手把手带您无忧上云