如何从Django中的request.path中提取数字

时间:2013-08-19 16:37:53

标签: python django string

我目前正在寻找一种从Django中的request.path中提取数字的方法。该数字是对象的id。当我打印request.path时给我以下内容:

>>>print request.path 
/post/v2/delete-document/15/

我想提取数字15,因为这是要删除的对象的id。然后我会使它等于一个名为object_id的变量:

object_id = 15

我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

这个怎么样?

<强>说明

  

首先,我们用/字符拆分字符串,并确保结果不包含任何空字符串(这就是为什么我们有if i)然后得到列表[-1]中的最后一项,我们将其转换为内置int()函数的整数

<强> CODE:

object_id = int([i for i in str(request.path).split('/') if i][-1])
print(object_id)

<强>输出:

15

答案 1 :(得分:1)

与Peter的解决方案略有不同,使用正则表达式来显示整数:

import re
object_id=re.findall("[0-9]+",s)[-1]
print (object_id)