Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 表单发送<;textarea>;跟着尸体走_Html_Django_Django Forms - Fatal编程技术网

Html 表单发送<;textarea>;跟着尸体走

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

我想将此表格作为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>
       {% 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})}