python - 如何在 urls.py 中为此创建正则表达式?
问题描述
我想创建一个匹配这样的网址的正则表达式
filmslist?name=allaboutmymother?director=pedroalmodovar
在 urlpatterns 中,我放了这个:
path('api/filmslist\?name=?P<name>(.*)\?director=?P<director>(.*)', views.filmslist)
但它不匹配。提前致谢
解决方案
url 中第一个之后的所有?
内容都是查询字符串,不参与模式匹配。所以如果你的 url 是这样的,filmslist?name=allaboutmymother?director=pedroalmodovar
那么你的 url 模式应该是这样的:
path('api/filmslist', views.filmslist)
现在要在您的视图中获取这些参数,您可以执行以下操作:
def filmslist(request):
name = request.GET.get('name')
director = request.GET.get('director')
...
同样正如@Code-Apprentice在他们的评论中指出的那样,它们应该只在 ?
url 中有一个,并且参数需要用 an 分隔,&
因此您的 url 应该是filmslist?name=allaboutmymother&director=pedroalmodovar
推荐阅读
- r - 更改闪亮应用的直方图颜色
- postgresql - 当我已经遵循格式时,为什么我不能删除 Postgresql-Pgadmin 中的一行?
- installation - 在 laravel 5.4 中安装 guzzle
- sql - 为 SQL Server 中的列中的每个值计算冗余
- python - 由 Pyinstaller 创建的 .exe 在执行乘法矩阵时关闭
- python-3.x - 我在 python 密码学中不断收到 Invalid Token 错误(cryptography.fernet.InvalidToken)
- python - Scrapy 中意外的速度波动与节流有何关系?
- c - c中的指针值
- postgresql - ThingsBoard Docker容器部署导致`PSQLException`
- excel - 是否可以根据 Excel 中的计算度量进行条件格式设置?