【问题标题】:Rendering dynamic variable in a django template在 django 模板中渲染动态变量
【发布时间】:2018-06-23 16:29:40
【问题描述】:

我正在尝试在 Django 模板中呈现动态 Url,如下所示 <a href={{'jibambe_site_detail/'|add: site.id}}>{{ site }}</a>。然而,这将返回一个TemplateSyntaxError at /jibambe_sites/ add requires 2 arguments, 1 provided。我错过了什么或者我应该如何呈现这个动态 URL,我希望它产生类似jibambe_site_detail/1

【问题讨论】:

  • 你真的应该使用url标签,但是你试过href="/jibambe_site_detail/{{ site.id }}"吗?
  • @schwobaseggl 是的,我有。结果就是jibambe_site_detail/
  • 这意味着 site 在上下文中为 None 或不在上下文中,或者没有属性 id
  • @schwobaseggl 从您的评论中我应该使用url 标签,我已经能够解决问题如下<a href={% url 'site_details' pk=site.id %}>{{ site.name }}</a>
  • 看起来好多了! :-)

标签: python django python-3.x django-templates django-views


【解决方案1】:

OP 的策略在这一点上有所改变,但 OP 的原始错误似乎是因为 冒号后的空格

使用add:site.id 而不是add: site.id

查看关于defaulthere的类似问题

【讨论】:

    【解决方案2】:

    从@schwobaseggl 评论中,我能够添加一个动态url 变量,如下<a href={% url 'site_details' pk=site.id %}>{{ site.name }}</a> 然后在urls.pyurlpatterns,我给pathjibambe_site_details一个名字path('jibambe_site_detail/<slug:pk>', JibambeSitesDetails.as_view(), name='site_details'),

    【讨论】:

      猜你喜欢
      • 2016-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 1970-01-01
      • 2022-01-15
      • 2020-12-07
      • 1970-01-01
      相关资源
      最近更新 更多