代码之家  ›  专栏  ›  技术社区  ›  darren

如何在django中将变量从url传递到视图?

  •  1
  • darren  · 技术社区  · 14 年前

    如何将变量从URL传递到视图?我在跟踪 Date Example .

    我的观点需要:

    def hours_ahead(request, offset):
    

    (r'^plus/\d{1,2}/$', hours_ahead),
    

    我知道我需要传递另一个参数,但我不知道如何从URL字符串(即“time/plus”)获取数字/ 4 /'. 像这样的?

    (r'^plus/\d{1,2}/$', hours_ahead, offset=??),
    
    4 回复  |  直到 14 年前
        1
  •  1
  •   pycruft    14 年前

    你可以用 Named groups

    (r'^plus/(?P<offset>\d{1,2})/$', hours_ahead),
    
        2
  •  0
  •   Manoj Govindan    14 年前

    我不太清楚你的问题。这是我根据自己的理解回答问题的机会。

    named regex group

    (r'^plus/(?P<offset>\d{1,2})/$', hours_ahead),
    

    这样可以保留现有视图:

    def hours_ahead(request, offset):
        ...
    
        3
  •  0
  •   o.elias    14 年前

    您可以添加以下附加变量:

    (r'^plus/\d{1,2}/$', {'hours' : 5},  hours_ahead),
    

    致以最诚挚的问候!

        4
  •  0
  •   asmeurer    12 年前

    chapter 3 of the django book

    现在我们已经为URL指定了一个通配符,我们需要一种 将通配符数据传递给view函数,以便我们可以使用 在URLpattern中我们想要的数据周围放置括号 在URL中输入,所以让我们在\d{1,2}周围加上括号,如

    (r'^time/plus/(\d{1,2})/$', hours_ahead),
    

    如果你熟悉正则表达式,你就可以在家了 这里,我们使用括号从匹配的文本中捕获数据。