Html 表单发送<;textarea>;跟着尸体走
我想将此表格作为Django模板提交:Html 表单发送<;textarea>;跟着尸体走,html,django,django-forms,Html,Django,Django Forms,我想将此表格作为Django模板提交: <form action="/feedback" method="post"> {% csrf_token %} <div class="form-group"> {% if form.title.errors %} <div class="alert alert-danger" role="alert"> {{ form.title.errors }}</div&g
<form action="/feedback" method="post">
{% csrf_token %}
<div class="form-group">
{% if form.title.errors %}
<div class="alert alert-danger" role="alert"> {{ form.title.errors }}</div>
{% endif %}
<div class="row">
<div class="col-xs-6 col-xs-push-6">
<div class="form-group">
<input id="id_title" class="form-control" name="title" value="{{title}}" >
</div>
</div>
</div>
</div>
{% if form.body.errors %}
<div class="alert alert-danger" role="alert">{{ form.body.errors }}</div>
{% endif %}
<div class="form-group">
<textarea class="form-control" id="id_body" name="body" rows="20">{{body}}</textarea>
</div>
<button type="submit" value="Submit" id="send"> Send</button>
</div>
</form>
我尝试过不同的技巧,比如更改textarea类,但无法修复它。谢谢你的帮助
更新:以下是视图:
def feedback(request):
args = {}
if request.method == 'POST':
form = FeedbackForm(request.POST)
if form.is_valid():
d = form.save(commit = False)
try:
author = get_user(request)
except:
author = 'Guest'
d.title = form.cleaned_data['title']
d.body = form['body']
d.published = False
d.save()
return render_to_response('feedback/sent_thanks.html',
context_instance=RequestContext(request))
else:
args.update(csrf(request))
args['title'] = request.POST['title']
args['body']= request.POST['body']
args['form'] = form
return render_to_response('feedback/send_form.html', args,
context_instance=RequestContext(request))
else:
form = FeedbackForm()
args.update(csrf(request))
args['form'] = form
return render_to_response('feedback/send_form.html', args,
context_instance=RequestContext(request))
我认为问题出在内部视图的某个地方,而不是模板。调试主体变量
或者在加载模板的位置发布。删除
textarea
将{{body}}
包装在模板中,并在反馈表单中添加textarea属性
class FeedbackForm(forms.ModelForm):
class Meta:
model = FeedbackForm
fields = ('body', )
widgets={'body': forms.Textarea(attrs={'rows': 20})}
风景不错。当我试图用引导类“美化”表单时,问题出现了。在此之前,它收到了预期的表单正文。显示您的反馈view@Satendra我添加了视图。请确保sent\u谢谢.html
中没有textarea
。因为您是以表单形式发送的,所以有效响应sent\u谢谢。html
只是在表单正确提交后html发送回用户的确认。它与表单的主体无关。您可以添加建议的html吗?当我删除textarea并仅将{{body}}
放在那里时,它不会显示。请删除此行{{body}},并仅保留{body}标记。{{body}}标记已经是一个textarea,因此您不需要再次用textarea将其包装。结果如下:{{body}那么,用{{form.body}替换{{body},我认为最好使用forloop和form。使用{form.body}
文本区域出现。但我仍然可以在视图中看到标签。
def feedback(request):
args = {}
if request.method == 'POST':
form = FeedbackForm(request.POST)
if form.is_valid():
d = form.save(commit = False)
try:
author = get_user(request)
except:
author = 'Guest'
d.title = form.cleaned_data['title']
d.body = form['body']
d.published = False
d.save()
return render_to_response('feedback/sent_thanks.html',
context_instance=RequestContext(request))
else:
args.update(csrf(request))
args['title'] = request.POST['title']
args['body']= request.POST['body']
args['form'] = form
return render_to_response('feedback/send_form.html', args,
context_instance=RequestContext(request))
else:
form = FeedbackForm()
args.update(csrf(request))
args['form'] = form
return render_to_response('feedback/send_form.html', args,
context_instance=RequestContext(request))
class FeedbackForm(forms.ModelForm):
class Meta:
model = FeedbackForm
fields = ('body', )
widgets={'body': forms.Textarea(attrs={'rows': 20})}