CSS Grid с помощью Django
Я изучаю Django и у меня есть вопрос относительно CSS Grids и Dynamic content.
В приведенном ниже HTML-коде я пытаюсь получить из файла views.py
значения словаря.
# From 'views.py'
def index(request):
values = {
1: 'Value 1',
2: 'Value 2',
3: 'Value 3'
}
past_values = {
'past_values': experiences
}
Это часть HTML, о которой я говорил:
<!-- START PORTFOLIO -->
<section id="portfolio" class="tm-portfolio">
<div class="container">
<div class="row">
<div class="col-md-12 wow bounce">
<div class="title">
<h2 class="tm-portfolio-title">My <strong>Past Values</strong></h2>
</div>
<!-- START ISO SECTION -->
<div class="iso-section">
<ul class="filter-wrapper clearfix">
<li><a href="#" class="opc-main-bg selected" data-filter="*">All</a></li>
<li><a href="#" class="opc-main-bg" data-filter=".html">Cat 1</a></li>
<li><a href="#" class="opc-main-bg" data-filter=".photoshop">Cat 2</a></li>
<li><a href="#" class="opc-main-bg" data-filter=".wordpress">Cat 3</a></li>
<li><a href="#" class="opc-main-bg" data-filter=".mobile">Cat 4</a></li>
</ul>
<div class="iso-box-section">
{% for key, value in past_values.items %}
<div class="iso-box-wrapper col4-iso-box">
<div class="iso-box html photoshop wordpress mobile col-md-3 col-sm-3 col-xs-12">
<div class="portfolio-thumb">
<img src="{% static 'images/portfolio-img1.jpg' %}" class="fluid-img" alt="portfolio img">
<div class="portfolio-overlay">
<h3 class="portfolio-item-title">{{value}}</h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonumm.</p>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
</div>
</section>
<!-- END PORTFOLIO -->
Вот соответствующий CSS:
/* START PORTFOLIO */
.tm-portfolio {
background: #f8f8f8;
padding-top: 80px;
}
.tm-portfolio .container {
width: 100%;
padding: 0;
margin: 0;
}
.tm-portfolio .col-md-3,
.tm-portfolio .col-sm-3 {
padding: 0;
margin: 0;
}
.tm-portfolio-title {
text-align: center;
text-transform: uppercase;
}
.portfolio-item-title {
font-weight: bold;
margin-top: 10px;
text-transform: uppercase;
}
.portfolio-thumb {
overflow: hidden;
margin: 0;
position: relative;
}
.portfolio-overlay {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
background: #eb5424;
color: #ffffff;
top: 0;
right: 0;
left: 0;
bottom: 0;
width: 100%;
height: 100%;
padding: 0 40px;
text-align: center;
position: absolute;
opacity: 0;
transition: all 0.4s ease-in-out;
-webkit-transition: all 0.4s ease-in-out;
-moz-transition: all 0.4s ease-in-out;
-ms-transition: all 0.4s ease-in-out;
}
.portfolio-thumb:hover .portfolio-overlay {
opacity: 0.8;
-webkit-transform: scale(1.0);
-ms-transform: scale(1.0);
transform: scale(1.0);
}
.portfolio-overlay .fa {
border: 1px solid #666;
border-radius: 0;
color: #666;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
text-decoration: none;
margin-right: 6px;
margin-bottom: 10px;
}
/* FILTER CSS */
.filter-wrapper {
width: 100%;
margin: 0 0 24px 0;
overflow: hidden;
text-align: center;
}
.filter-wrapper li {
display: inline-block;
margin: 4px;
}
.filter-wrapper li a {
color: #999999;
padding: 8px 17px;
display: block;
text-decoration: none;
transition: all 0.4s ease-in-out;
-webkit-transition: all 0.4s ease-in-out;
-moz-transition: all 0.4s ease-in-out;
-ms-transition: all 0.4s ease-in-out;
}
.filter-wrapper li a:focus,
.filter-wrapper li a:hover,
.filter-wrapper li a.selected {
background: #eb5424;
border-color: transparent;
color: #ffffff;
}
/* ISOTOPE BOX CSS */
.iso-box-section { width: 100%; }
.iso-box-wrapper {
width: 100%;
padding: 0;
clear: both;
position: relative;
}
.iso-box {
position: relative;
min-height: 50px;
float: right;
overflow: hidden;
margin-bottom: 20px;
}
.iso-box > a {
display: block;
width: 100%;
height: 100%;
overflow: hidden;
}
.fluid-img {
width: 100%;
display: block;
height: auto;
}
/* END PORTFOLIO */
По какой-то причине конечное состояние моего приложения такое, как показано ниже. Я не знаю, как включить сетку при работе с динамическим контентом: https://i.stack.imgur.com/0cp7D.jpg
Оригинальный HTML выглядит следующим образом: https://i.stack.imgur.com/acwQ7.jpg
Я буду признателен за помощь, чтобы понять, как Django обрабатывает эту ситуацию.