在 Django 中围绕 bootstrap html 标签封闭 For 循环

Posted

技术标签:

【中文标题】在 Django 中围绕 bootstrap html 标签封闭 For 循环【英文标题】:Enclosing For Loop in Django around bootstrap html tags 【发布时间】:2017-08-11 02:51:46 【问题描述】:

我对 Django 上的 Python 很陌生。我喜欢将我的 Bootstrap html 标签包裹在 Django For..Loop 句柄周围,这样我就可以在 Columns 中呈现来自数据库的详细信息。然而,这并没有发生在我所做的事情上。第二列实际上搞砸了。柱子应该并排站立。

注意,如果它只有引导标签,它会按照预期的方式呈现得非常好。

这里是混乱的图片视图

下面是我的 Python Django 代码:

templates/app/home.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <title>Mentoring Services</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="Mentoring Services">
        <meta name="keywords" content="">
        <meta name="author" content="Myrioi Solutions">
        <!-- FAVICON -->
        <link rel="shortcut icon" href="images/favicon.ico">
        <link rel="stylesheet" href="static/css/base.css">
        # Load the tag library #
        % load bootstrap3 %

        # Load CSS and javascript #
        % bootstrap_css %
        % bootstrap_javascript %

        # Display django.contrib.messages as Bootstrap alerts #
        % bootstrap_messages %
    </head>
<body>

<div class="intro" data-stellar-background-ratio="0.55" style="background-position: 50% 50%;">
  <div class="container">
      <div>
          <h4>Get mentored and be successful</h4>
      </div>
      <div class="#">
          <h1 style="transition: none; text-align: inherit; line-height: 62px; border-width: 0px; margin: 14px 0px 9px; padding: 0px; letter-spacing: 0px; font-size: 55px; color: black">
            Mentoring Directory
          </h1>
          <p class="lead">The most complete solution<br>
             for online mentoring directories
          </p>
     </div>
  </div>
</div>


<div class="home-directory">
            <div class="container">
                <div class="section-head text-center">
                    <h3>Best rated Mentors</h3>
                    <p class="lead">Explore some of our best mentors around your place and connect with them.</p>
                </div>
                <div class="row">
                 % for item in mentors %
                    <div class="col-md-4 col-sm-6 col-sm-offset-3 col-md-offset-0">
                        <div class="listing">
                            <div class="listing-img bg-image" data-image-src=" item.image " style="background: url(&quot;images/home/3.jpg&quot;) center center / cover no-repeat;">
                                <div class="li-overlay">
                                    <div class="li-overlay-inner">
                                        <a href="#" class="mail"></a>
                                        <a href="#" class="menu"></a>
                                        <a href="#" class="link"></a>
                                    </div>
                                </div>
                            </div>
                            <div class="listing-info">
                                <h4 class="li-name"><a href="#"> item.first_name   item.last_name </a></h4>
                                <ul class="list-icon">
                                    <li> <i class="pe-7s-map-marker"></i>  item.location </li>
                                    <li> <i class="pe-7s-call"></i>  item.phone_number </li>
                                    <li> <i class="pe-7s-mail"></i> <a href="mailto: item.email "> item.email </a> </li>
                                </ul>
                            </div>
                        </div>
                    % endfor %
                    </div>
                </div>
            </div>
        </div>
</body>

</html>

view.py

from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from django.views import View
from .models import *
from .models import Mentor


# Create your views here.


class HomeView(View):
    # @staticmethod
    def get(self, request, *args, **kwargs):
        mentors = Mentor.objects.all()
        return render(request, "mentoring_application/home.html", "mentors": mentors)

注意:我正在使用 django-bootstrap3 package/gem 将我的 Django 应用程序与 Bootstrap3 集成,我不知道做错了什么。

【问题讨论】:

【参考方案1】:

我认为问题在于div 元素和endfor 的嵌套。

循环结束时没有将所有&lt;div&gt;&lt;/div&gt; 匹配。将其下移一级

        </div>
    % endfor %
    </div>
</div>

        </div>
    </div>
    % endfor %
</div>

【讨论】:

Wowwwww,你不会相信我检查了将近 2 个小时。我的头脑一定没有在那里得出结论我做得很好。非常感谢。感激不尽。

以上是关于在 Django 中围绕 bootstrap html 标签封闭 For 循环的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 应用程序中使用 bootstrap-datepicker?

使用 Bootstrap 在 Django 中查看

如何在 Django 中修改 Bootstrap 4 表单验证信息呈现方式?

在 Django 模板的 Bootstrap 列表组中显示数据

Django 和 Bootstrap 的格式化问题

Django中使用Bootstrap展示树形结构