Django - 在urls.py中使用正则表达式传递值

时间:2012-03-25 00:03:04

标签: python django

我刚遇到问题..

我正在尝试用不同的页面构建一个网站。 所以我创建了一个名为pages的django应用程序,其中包含以下字段:

  • 标题
  • 文本
  • URL

这个想法是,用户可以创建新页面并删除现有页面,它实际上会实时影响导航。

所以在我的urls.py中,我想以某种方式处理这个:

from django.conf.urls.defaults import *


urlpatterns = patterns('',
  (r'^pages/(/w)', pages.views.display_content),
)

例如,可能有一个URL属性为“page1”的页面,然后“page1”应该由(/ w)存储并传递给pages.views.display_content,然后会显示相应的数据。可以通过domain.com/pages/page1访问“page1”页面。

然而,由于我对正则表达式不太满意,我认为我真的需要你的帮助。 如果有人能向我解释如何为此编写我的URL规则,我会非常高兴。

晚安:)

1 个答案:

答案 0 :(得分:1)

此外,您可以使用以下表示法命名要捕获的参数并将其传递给您的视图函数:

...
(r'^pages/(?P<page_name>\w+)', 'pages.views.display_content'),
...

因此,您可以在视图函数中使用该名称访问它。 它的标题应如下所示:

def display_content(request, page_name):
    ...