- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力弄清楚如何在 Django 中使用带有 re_path 的正则表达式来匹配一组模式中的任何一个。
我想要匹配 /bucket/
、/buckets/
、/pail/
或 /pails
到单个 View 。
在我的主网址文件中,我有:
from bucket import urls as bucket_urls
urlpatterns = [
re_path(r'^(?:bucket)s?/', include(bucket_urls))
]
在 bucket.urls
模块中我有:
urlpatterns = [
path("new", views.BucketCreate.as_view(), name="create_bucket"),
...
path('', BucketList.as_view(selection="recent"), name="buckets")
]
这适用于 /bucket/
和 /buckets/
,以及 /bucket/new/
和 /buckets/new/
以及从存储桶扩展的其他 URL。
如果我将其更改为 '^(?:bucket|pail)s?/'
,则所有存储桶或桶 URL 都不起作用。
如果我将其更改为 '^(bucket)s?/'
,则所有存储桶 url 都不起作用。如果我理解正确的话,这是因为 () 正在捕获 bucket
部分,而 ?:
会停止它?
试试这个有效
urlpatterns = [
re_path(r'^buckets?/', include(bucket_urls)),
re_path(r'^pails?/', include(bucket_urls)),
]
但给出此警告:?: (urls.W005) URL 命名空间“bucket”不是唯一的。您可能无法反转此命名空间中的所有 URL
我应该担心这个警告吗?
有关如何匹配 /bucket/
、/buckets/
、/pail/
或 /pails/的任何指示
使用单个正则表达式,这样我就不会收到警告?
最佳答案
将正则表达式更改为以下内容:r'^[(bucket|pail)s]+/'
from django.urls import include, re_path
urlpatterns = [
...,
re_path(<b>r'^[(bucket|pail)s]+/', include(bucket_urls)</b>),
...
]
<小时/>
要解决 (urls.W005)
警告,请指定 namespace include(...)
(Django doc) 的参数功能
urlpatterns = [
re_path(r'^buckets?/', include((bucket_urls, <b>namespace='buckets'</b>))),
re_path(r'^pails?/', include((bucket_urls, <b>namespace='pails'</b>))),
]
关于python - 在 Django 3.0 中将任一模式与 re_path 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59907011/
使用cats.Semigroup可以这样写: import cats.Semigroup import cats.implicits._ val l1: String Either Int = Lef
所以我的网页中有两个字段,一个用于电话号码,另一个用于电子邮件地址,我需要使用 JavaScript 而不是 jQuery 来填写其中之一。我在这里找到的大多数答案都是针对 jQuery 的,任何使用
我有一个类型,它的形状是这样的: val myType: Future[Either[MyError, TypeA]] = // some value 我知道我可以对此进行模式匹配并获得 Right
我的印象是某处有 Either a 的实例,但我似乎找不到它。我尝试导入 Control.Monad、Control.Monad.Instances 和 Data.Either,如图所示 module
我在一个宠物 Scala 项目中遇到了一个我真的不知道如何克服的情况。 以下示例显示了我的问题。 import scala.concurrent.Future import scala.concurr
我是一名优秀的程序员,十分优秀!