【问题标题】:Django URL match in HttpResponse object?HttpResponse对象中的Django URL匹配?
【发布时间】:2010-12-10 01:15:33
【问题描述】:

在 django 中,当匹配一个 URL 时,匹配组作为第二个参数传递给视图函数,第一个参数是一个 HttpRequest 对象。例如,使用这样的 URL 模式

'/foo/(\d{2})/', 'app.views.handler'

处理程序例程将具有

def handler(request, value):

其中 value 将包含一个两位数字(作为字符串)。

我的问题是:请求对象中是否也包含值,如果是,我该如何获取(当然,从请求对象中解析URL不是一种选择,太不切实际了)。

谢谢

【问题讨论】:

    标签: django django-urls


    【解决方案1】:

    我不会讨论你的想法的优点。试着回答你的问题:

    没有,除了再次将正则表达式应用于 URL 之外,没有其他方法可以获取 url 参数。

    您的视图将是参数列表可用的第一个点。你为什么不直接创建一个包装器对象来封装你的请求和你的参数列表呢?

    把它传过去...

    【讨论】:

      【解决方案2】:

      你能给出你需要这个的任何理由吗?

      我不明白为什么解析 url 路径是“不切实际的”,因为您的 urlconf 中已经有一个有效的正则表达式。

      【讨论】:

      • 因为那样我会复制正则表达式。
      • 但是你似乎还是想复制一些东西,因为参数已经被传递给你的视图函数,你也希望它们在其他地方。你还没有给出用例。
      • 因为我只想将请求对象作为单个实体传递,而不是请求对象将参数列表作为两个单独的实体传递。
      • 没有特定的用例。我也可以通过传递东西(请求,参数列表)来管理。但是,如果我在请求中已经有参数,我可以从请求本身获取它们,而不是携带重复信息(在参数列表和请求对象中)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-13
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      相关资源
      最近更新 更多