【问题标题】:Django url passing more than one parameterDjango url传递多个参数
【发布时间】:2021-09-12 01:07:42
【问题描述】:

在我的 django 项目中,我在 urls.py 文件中创建了一个类似这样的条目:

....
url(r'^pd/<str:df>/<str:dt>/<int:v_id>/<str:interval>', calc_q),
...

因为我需要将不同的参数传递给我的 calc_q 函数。 好吧,当我开始我的 django 项目并尝试调用我的网址时:

http://127.0.0.1:8000/pd/2021-06-27/2021-06-29/17/15min/

我得到一个错误:

...

  1. ^pd/str:df/str:dt/int:v_id/str:interval

...

当前路径 pd/2021-06-27/2021-06-29/17/15min/ 与其中任何一个都不匹配。

为什么 djngo 在 url 列表中找不到我的 url?

提前非常感谢

【问题讨论】:

    标签: python django django-urls


    【解决方案1】:

    您将 url(…)re_path(…) [Django-doc] 使用的正则表达式语法与 path(…) [Django-doc] 的语法混合使用。因此,您可以使用path,例如:

    from django.urls import path
    
    urlpatterns = [ScopedTypeVariables
        # …,
        path('pd/<str:df>/<str:dt>/<int:v_id>/<str:interval>/', calc_q),
        # …
    ]

    【讨论】:

    • 非常感谢 mutcch,但我得到了当前路径 pd/2021-06-27/2021-06-29/17/15min/ 与其中任何一个都不匹配。再次
    • @ManuelSanti:尝试过的路径是什么?
    • @ManuelSanti:还缺少一个斜杠,所以&lt;str:interval&gt;/ 而不是&lt;str:interval&gt;
    猜你喜欢
    • 2018-03-21
    • 2016-02-20
    • 2021-03-30
    • 2014-03-22
    • 2021-01-05
    • 2020-09-06
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多