Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.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
Python 如何迭代请求对象并按特定html标记进行筛选_Python_Html_Django_Loops - Fatal编程技术网

Python 如何迭代请求对象并按特定html标记进行筛选

Python 如何迭代请求对象并按特定html标记进行筛选,python,html,django,loops,Python,Html,Django,Loops,鉴于以下代码: output='' for k,v in request.POST.items(): output+= k + ' ' 这将返回: textarea4 _submit textarea2 csrfmiddlewaretoken textarea1 textarea3 但是,我只想要textarea名称。如何过滤掉其余部分?您可以使用相同的名称提交它们,例如textarea[]然后使用request.POST.getlist('textarea')获取值 具有三个文本区

鉴于以下代码:

output=''
for k,v in request.POST.items():
    output+= k + ' '
这将返回:

textarea4 _submit textarea2 csrfmiddlewaretoken textarea1 textarea3

但是,我只想要
textarea
名称。如何过滤掉其余部分?

您可以使用相同的名称提交它们,例如
textarea[]
然后使用
request.POST.getlist('textarea')
获取值

具有三个文本区域字段的表单示例:

<form>
    <textarea name='textarea[]'></textarea>
    <textarea name='textarea[]'></textarea>
    <textarea name='textarea[]'></textarea>
    <button type='submit'>Submit</button>
</form>

提交

为什么不试试看每个键是否以
文本区域开头?对字符串使用以下方法:

output = ''
for k in request.POST:
    if k.startswith('textarea'):
        output += k + ' '
output = ' '.join([k for k in request.POST if k.startswith('textarea')])
但是,为了更具python风格,请对字符串使用以下方法:

output = ''
for k in request.POST:
    if k.startswith('textarea'):
        output += k + ' '
output = ' '.join([k for k in request.POST if k.startswith('textarea')])

如果
request.POST
中的每个键都以
textarea
开头,则上述内容将字符串或
request.POST中的键连接在一起,并在每个键之间留有空格。我使用了一行代码来帮助我完成这项工作。

添加一个条件来检查
k.startswith('textarea')
这是否有效。谢谢如果你回答我的问题,我会接受的。做了一些轻微的语法修改。希望你不介意!我喜欢这个选项,但你能举个例子说明我如何以列表的形式提交吗?我现在已经用一个html表单的例子更新了我的答案。谢谢更新!很高兴知道以供将来参考,但在我目前的情况下,我不能使用它,因为名称实际上全部或部分是一个id号。您可以始终将id放入数据属性中,例如
data id=“{x.id}}”
@woodduck-谢谢!:D