首页 > Django中通过request.POST.get()从POST字典得到字符串问题

Django中通过request.POST.get()从POST字典得到字符串问题

        #定位文本,有一个table标签
        #文本在<td><tr>{{ new_text }}</tr></td>
        table = self.browser.find_element_by_id('id_list_table')
        rows = table.find_elements_by_tag_name('tr')
        self.assertTrue(
                any(row.text == '1: something' for row in rows),
                'New item did not appear in table -- its text was:\n%s' % (table.text,)
        )

这里是一个模板渲染

def home_page(request):
    return render(request, 'home.html',
        {'new_text': request.POST.get('item_text', '')}
    )

当我在input标签中输入文本后后回车发送POST,dict.get()总返回默认值,请问这是为什么?怎么测试才能得到原因?
单元测试中,直接在POST字典中添加字符串,测试通过,但是到了功能测试就不能得到HTML中的模板字符串变量。。。


问题已经解决了,原因是输入文本的标签问题

#这个标签的name属性没有写导致的问题
<input name="item_text" id="id_new_item" placeholder="Enter a to-do item"/>

request.POST 的字典的键-值是标签的name属性-输入文本内容
因为单元测试通过了,我对照单元测试发现在功能测试中找不到输入文本就去assertTrue(),dict.get()不到字符串肯定返回默认值,然后就找POST方法的键是什么,最后终于定位问题。。。
错误很低级,但还是略有收获!

【热门文章】
【热门文章】