从Django中的表单检索值textarea的值时出错

时间:2018-04-07 00:57:33

标签: django python-3.x

我是Django的新手。我正在尝试创建一个包含文本区域的简单表单。我似乎无法从textarea中检索值

这是我的表格:

<form method="POST" class="ui form" action="">
 {% csrf_token %}
 <div class="field">
  <label>Title</label>
  <input type="text" name="title"/>
  <label> Content</label>
  <textarea  rows="8" name="content" ></textarea>
 </div>
<button type="submit" class="ui primary button">Create</button>
</form>

这是我处理表格的方式

    def createArticle(request):
      if(request.method == 'POST'):
      form = ArticleForm(request.POST)
        if form.is_valid():
        title = form.cleaned_data['title']
        body = form.cleaned_data['content']
        username = request.session['email']
        user = User.objects.get(username=username)

我在此行KeyError at /create/article/ 'content'

收到此错误body = form.cleaned_data['content']

以下是我的帖子请求中的内容

csrfmiddlewaretoken'CgCwDF1d03KGIxsmM2Z4hhStBRIxw9hlh1ACtYXpBWXLLvYJq2tfdO7lqds7EVxI'

title'dsadasdasdsadsadasdsadasdsadsad'

content'<p>sadasdsadasdasdasdsadasdasdsadsadsadasdsadsadsadsadsadsadsadasdasd</p>\r\n'

我猜测<p>中的content标签是导致错误的原因,但我不知道如何摆脱错误。

1 个答案:

答案 0 :(得分:0)

您需要为表单定义 name 和 id 属性,并为 textarea 定义一个表单属性,其值将是表单的 id 属性的值。

<form method="POST" class="ui form" action="" id="content" name="content">
 {% csrf_token %}
 <div class="field">
  <label>Title</label>
  <input type="text" name="title"/>
  <label> Content</label>
  <textarea  rows="8" form="content" ></textarea>
 </div>
<button type="submit" class="ui primary button">Create</button>
</form>
相关问题