【问题标题】:confused with URL parameter in jinja Django与 jinja Django 中的 URL 参数混淆
【发布时间】:2021-10-07 13:10:45
【问题描述】:

我对我在 jinja 中的 URL 感到困惑: 我的 url.py 是:

 path('<int:listing_id>', views.listing, name='listing')

views.py:

def listing(request, listing_id):
return render(request, 'listings/listing.html')

我在 url 中得到一个整数作为 id 来指定 list(listing_id) 但我明白在我的html文件中我必须写listing.id而不是listing_id

<a href="{% url 'listing' listing.id %}" class="btn btn-primary btn-block">More Info</a>

我的问题是为什么我必须使用 .而不是 _(listing.id 而不是 listing_id)

【问题讨论】:

    标签: html django url hyperlink jinja2


    【解决方案1】:

    使用listing.id,您可以指定要作为参数传递的值。您可以通过编写使其更详细:

    "{% url 'listing' listing_id=listing.id %}"

    表达式的左侧部分 listing_id= 指定 URL 参数的名称,而右侧部分 =listing.id 指定我们将为该 URL 模式填充的值。

    listing 可能是您在渲染对象时传递的对象。如果你写listing_id,渲染引擎会寻找你传递给context的对象,但是没有这样的项目,listing.id会使用你传递给te的listing对象的.id属性上下文。

    【讨论】:

      猜你喜欢
      • 2016-08-13
      • 1970-01-01
      • 2011-12-21
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 2012-02-25
      • 2017-10-30
      • 2011-05-17
      相关资源
      最近更新 更多