我目前正在寻找一种从 Django 中的 request.path 中提取数字的方法。这个数字是对象的 id。当我打印 request.path 时,我得到以下信息:
>>>print request.path
/post/v2/delete-document/15/
我只想提取数字 15,因为这是要删除的对象的 id。然后我会使其等于一个名为 object_id 的变量:
object_id = 15
我该怎么做呢?
这个怎么样?
解释:
首先,我们按字符分割字符串
/
,并确保结果不包含任何空字符串(这就是我们有 的原因if i
),然后从列表中获取最后一项,[-1]
并使用内置int()
函数将其转换为整数
代码:
object_id = int([i for i in str(request.path).split('/') if i][-1])
print(object_id)
输出:
15
与彼得的解决方案略有不同,使用正则表达式更明确地查找整数:
import re
object_id=re.findall("[0-9]+",s)[-1]
print (object_id)