Загрузочные карты не могли правильно распределиться по сетке

#html #web #bootstrap-cards

Вопрос:

shop.html

 {% extends 'base.html' %} 

{% block content %} 
<div class="container">
  <!-- Product List -->
  <br>
  <h2 align="center">List of Products</h2>
  <br>
  <div class="row">
  {% for product in products %} 
  <div class="col-3 col-md-3 col-sm-3">
    
    <div class="card">
      <form method="POST" action="{% url 'add_to_cart' product.id %}">
        {% csrf_token %} 
        <img src="{{ product.image.url }}" class="card-img-top" alt="...">
        <div class="card-body">
          <h5 name="item" class="card-title">{{product.name}}</h5>
            <div class="card-text">
                <p>Category: {{ product.category }}</p>
                <p>Price:</p>
                <p style="text-decoration: line-through;color:red;">{{ product.price }}</p>
                <p style="color:blue;">{{ product.discount_price }}</p>
            </div>
            <hr>
            <input name="quantity" type="number" value="1">
            <input type="submit" class="btn btn-primary" value="Add to Cart">
      </form>
      
    </div>
    
  </div>
  {% endfor %}
</div> 
</div>
  
{% endblock %} 
 

base.html

 <!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Online Shopping System</title>
    <!-- CSS only -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r 8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
</head>
<body>
    {% include 'navbar.html' %} 
    {% block content %} {% endblock %} 
    <!-- JavaScript Bundle with Popper -->
    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2 poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ n" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft 2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
    <!--  -->
</body>
</html>
 

Сетка Загрузочных Карт

Я проверил сеть, и файлы загружены

Для этого кода я использовал класс col-3 , а второй продукт все еще находится под первым продуктом. Вместо этого я хотел бы поместить вторую карточку продукта рядом с первой. Я взял код из системы сетки загрузочных карт, но он по-прежнему не работает, хотя я вставил в него необходимые ссылки на css и javascript base.html для начальной загрузки . Могу я спросить, что мне нужно изменить, чтобы карты были 3 в ряд?

Комментарии:

1. Правильно ли загрузился CSS начальной загрузки? Снимок экрана выглядит так, как будто CSS не загрузился.

2. Это то, что я должен правильно загрузить загрузочный css и javascript на base.html ?

3. Да, похоже, что ваш загрузочный css и необходимый js не загрузились.

4. Где я должен найти правильные css и js, чтобы правильно создать сетку страниц?

5. Я скопировал пакет css и js и отдельные файлы и вставил их в голову и тело соответственно из getbootstrap.com/docs/5.1/getting-started/introduction

Ответ №1:

В идеале у вас должен быть контейнер div, затем строка a внутри строки, в которой вы объявляете свои столбцы(в данном случае мы используем размер 3 для colum). Дайте мне знать, если это будет полезно.

 <div class="container">
    <!-- Product List -->
    <div class="row justify-content-center">
    {% for product in products %} 
    <div class="col-3 col-md-3 col-sm-3">
      
      <div class="card">
        <form method="POST" action="{% url 'add_to_cart' product.id %}">
          {% csrf_token %} 
          <img src="{{ product.image.url }}">
          <div class="card-body">
            <h5 name="item" class="card-title">{{product.name}}</h5>
              <div class="card-text">
                  <p>Category: {{ product.category }}</p>
                  <p>Price:</p>
                  <p style="text-decoration: line-through;color:red;">{{ product.price }}</p>
                  <p style="color:blue;">{{ product.discount_price }}</p>
              </div>
              <hr>
              <input name="quantity" type="number" value="1">
              <input type="submit" class="btn btn-primary" value="Add to Cart">
        </form>
        
      </div>
      
    </div>
    {% endfor %}
</div> 
  </div>
 

Комментарии:

1. Результат по — прежнему остается неизменным

2. Можете ли вы проверить, правильно ли связан bootstrap? У меня была проблема с загрузочной сеткой ранее, тогда я сделал демонстрацию здесь stealth-ossified-nylon.glitch.me/items.html и github находится здесь github.com/naftalimurgor/bootstrap-grid-demo.git очень похожий случай с этим

3. Я думаю, что bootstrap неправильно связан с вашей страницей. Вы проверяли свои средства разработки браузера при загрузке страницы?

4. Как я могу проверить, правильно ли он связан?

5. нажмите ctrl shift i на клавиатуре, находясь на странице. Это откроет инструменты разработки. проверьте это на вкладке сеть. Проверьте, загружается ли загрузчик