gpt4 book ai didi

Django url 反向 : Non-reversible reg-exp portion: '(?='

转载 作者:行者123 更新时间:2023-12-02 05:43:44 25 4
gpt4 key购买 nike

Django 版本:1.5(主干)

我在 url 模式 A 中使用了一个积极的前瞻断言,它本身工作得很好。但是当我尝试反转完全不相关的 url 模式 B 时,我得到:

ValueError: Non-reversible reg-exp portion: '(?='

示例网址:

url(r'^foo(?=bar)/', test, name= 'bla'),
url(r'bar/', test, name= 'bli'),

触发错误:

from django.core.urlresolvers import reverse
reverse('bli')

我找到了这张相关的票,但遗憾的是并没有让我变得更聪明 https://code.djangoproject.com/ticket/17492

谁能告诉我代码有什么问题?

最佳答案

你的代码没问题,问题是,Django 不能反转所有可能的正则表达式。目前,Django 的正则表达式规范化器的实现至少不能处理两件事:析取 (|) 和非捕获(先行、后行)模式。

因此,要解决您的问题,只需避免在您的 URL 模式中使用前瞻性,就可以了。毕竟,使用没有所有那些时髦扩展的普通正则表达式应该是可能的,它可以表示任何正则语言。

关于Django url 反向 : Non-reversible reg-exp portion: '(?=' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com