• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何将object_id传递给Django中的通用视图object_detail

python 来源:Mike Broughton 12次浏览

我使用的是django.views.generic.list_detail.object_detail。如何将object_id传递给Django中的通用视图object_detail

根据文档视图采用变量object_id。为此,我将以下内容添加到了我的urlconf中:

(r'^(?P<object_id>\d+)$', list_detail.object_detail, article_info), 

上述行位于主要urlconf中包含的单独urlconf中。

如果我离开的字符“^”在模式的开头,然后尝试去地址:

…/OBJECT_ID = 1

它不工作。如果我删除 ‘^’ 字符地址:

…/OBJECT_ID = 1

还不行。然而,如果我使用:

… /的object_id = 1(没有问号)

视图接受的object_id变量和没有问题的工作原理。我对此有两个问题。

第一:可以使用包含的urlconf中的’^’字符来限制模式只匹配基本url模式加上包含的urlconf中的^ $之间的确切字符串吗?

第二:为什么问号字符会停止接收’object_id’变量的视图?我以为’?’被用来指定URL中的GET变量。

感谢

===========解决方案如下:

我会先解决你的第二个问题。此上下文中的?字符用于表示正则表达式中的已命名组。这是regular expressions provided by Python的自定义扩展。 (请参阅howto的示例)

要通过object_id将其追加到URL(在您的情况下)。像这样:../foo/app/3其中3object_id


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)