0

我目前正在寻找一种从 Django 中的 request.path 中提取数字的方法。这个数字是对象的 id。当我打印 request.path 时,我得到以下信息:

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

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

object_id = 15

我该怎么做呢?

4

2 回答 2

1

这个怎么样?

解释:

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

代码:

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

输出:

15
于 2013-08-19T16:41:01.917 回答
1

与彼得的解决方案略有不同,使用正则表达式更明确地查找整数:

import re
object_id=re.findall("[0-9]+",s)[-1]
print (object_id)
于 2013-08-19T17:03:51.933 回答