fanfanacs 2023-02-28 16:03 采纳率: 100%
浏览 21
已结题

{% for %} 和{% url %} 无法一起使用

{% for %} 和{% url %} 无法一起使用
因为我使用{% for %}批量导入了数据,然后我又想给每个数据设置一个跳转页面,路由是设成了list里面的name,但是{% url '{{vo.name}}’ %}好像并不可以,所以想问一下该怎么弄。
                {% for vo in buildinglist %}
                    <div class="col-lg-4 col-sm-6 layout-item-wrap">
                    <article class="property layout-item clearfix">
                    <figure class="feature-image">
                        <a class="clearfix zoom" href="{% url "{{ vo.name }}" %}"><img data-action="zoom" 
                          src="/static/uploads/building/{{ vo.cover_pic }}" alt=""></a>
                    </figure>
                    <div class="property-contents clearfix">
                    <header class="property-header clearfix">
                        <div class="pull-left">
                            <h6 class="entry-title"><a href="{% url "{{ vo.name }}" %}">{{ vo.name }}</a></h6>
                            <span class="property-location"><i class="fa fa-map-marker"></i> {{ vo.address }}</span>
                        </div>
                    </header>
                    </div>
                    </article>
                    </div>
                {% endfor %}
             
Reverse for '{{ vo.name }}' not found. '{{ vo.name }}' is not a valid view function or pattern name.
  • 写回答

1条回答 默认 最新

  • CodeBytes 2023-02-28 16:14
    关注

    该回答引用ChatGPT
    问题在于您的url标签中嵌套了另一个模板标签,这会导致Django无法正确解析您要访问的url。您可以使用以下方法来解决此问题:

    
    {% for vo in buildinglist %}
        <div class="col-lg-4 col-sm-6 layout-item-wrap">
        <article class="property layout-item clearfix">
        <figure class="feature-image">
            <a class="clearfix zoom" href="{% url vo.name %}"><img data-action="zoom" 
              src="/static/uploads/building/{{ vo.cover_pic }}" alt=""></a>
        </figure>
        <div class="property-contents clearfix">
        <header class="property-header clearfix">
            <div class="pull-left">
                <h6 class="entry-title"><a href="{% url vo.name %}">{{ vo.name }}</a></h6>
                <span class="property-location"><i class="fa fa-map-marker"></i> {{ vo.address }}</span>
            </div>
        </header>
        </div>
        </article>
        </div>
    {% endfor %}
    
    
    

    在这里,我们从url标签中删除了额外的双括号和引号,并直接传递了vo.name作为参数。这将使Django正确解析您要访问的url。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月28日
  • 创建了问题 2月28日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效