Django 在 get_context 数据中获取 url 变量?

Django get url variables within get_context data?

说我有一个 url 喜欢这个

    path(
        'foo/<int:foo_id>/edit/',
        views.FooView.as_view(),
        name='foo',
    ),

这样的视图:

    def get(self, request, foo_id):

我发现一个常见的习惯用法是将 URL 变量 foo_id 放入上下文中。

上下文唯一可以默认访问的是 request。我尝试检查 requestrequest.GET,但没有看到任何东西。

有没有更好的方法:

url参数存储在view.kwargs中。因此,您可以使用以下方式访问和呈现这些内容:

{{ view<strong>.kwargs.foo_id</strong> }}

传递了一个名为 view 的引用,它是处理请求时构造的 View 对象。因此,我们访问 View 对象的 .kwargs 属性,并在 kwargs 中查找 kwargs['foo_id'].

Django 的一个特点是 TemplateView [Django-doc] 将所有 kwargs 项目作为上下文数据传递,如果您的视图因此是 TemplateView,那么您可以使用

<!-- only a TemplateView -->
{{ <b>foo_id</b> }}