在django网络应用中,用户可以使用动态参数定义网址,例如:
/用户/:ID
或
/帖/:帖子ID /:commentid
现在,我已经给出了字符串,例如:
/users/mysername
< - 匹配/users/:id
- 如何从中抽取“myusername”?
/ users / mysuername / something< - 不匹配
/ posts / 10/382 - 匹配,提取两个变量 - postid和commentid
my models.py:
class Server(BaseModel):
url = models.CharField(verbose_name=_('URL'), max_length=64)
在我看来,我想比较请求的PATH_INFO:
endpoint_url = request.META.get('PATH_INFO').lower().strip().lstrip('/')
假设我有一个带url的服务器模型实例:/ users /:someid 现在,当请求路径是:/ users / somestring0 我想匹配它并将变量someid提取为“somestring0”。
参数可能包含任何内容 - 可能包括斜杠(/)。
我怎样才能实现这样的目标?
答案 0 :(得分:0)
如果这些端点在Django路由中注册,可能只需使用resolver?
from django.urls import resolve
match = resolve(my_url)
print(match.args)
print(match.kwargs)