【发布时间】:2021-03-03 12:48:06
【问题描述】:
我正在尝试在我的网页上打印来自 django 表单的 POST 数据,就在我的表单下方。我可以通过 HttpResponse 在不同的页面上打印它,但是当用户按下提交按钮时,我希望它在同一页面上。
Views.py
from django.views.generic import TemplateView
from django.shortcuts import render
from django import forms
from django.http import HttpResponseRedirect, HttpResponse
from home.forms import HomeForm
def home(request):
def get(request):
form = HomeForm()
return render(request, 'home/home.html', {'form':form})
if request.method=='GET':
response=get(request)
return response
elif request.method == 'POST':
form = HomeForm(request.POST)
if form.is_valid():
text = HomeForm('post')
return HttpResponse('post')
else:
form = HomeForm()
return render(request, 'home/home.html', {'form':form})
Forms.py
from django import forms
class HomeForm(forms.Form):
post = forms.CharField( widget= forms.TextInput() )
HTML 模板
<div class="container">
<form method='post'>
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="submit" class="btn btn-danger">
</form>
<h2>{{ text }}</h2>
</div>
我希望用户按下提交按钮后,帖子字段输入立即显示在网页的 h2 标记中提到的“文本”中,而不是像 HttpResponse 那样显示在单独的页面上。
【问题讨论】:
标签: python django django-forms django-widget