Как создать несколько видов карт без копирования - PullRequest
0 голосов
/ 30 ноября 2018

В настоящее время я создаю веб-сайт, который показывает сериалы и фильмы, я до сих пор создал карт-просмотр, который показывает только один фильм, и я, очевидно, хочу добавить больше, где моя дилемма.Есть ли способ создать более одного карточного просмотра в HTML без необходимости копировать и вставлять несколько раз?

Вот мой родительский класс в Django;

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    {% if title %}
      <title> {{ Flix | title }} </title>
    {% else %}
      <title> Flix </title>
    {% endif %}
    <link rel="stylesheet" href="/static/Css/Parent.css">
  </head>
  <div class="CardView">
      <img src= '{% block Images %}{% endblock %}' alt="">
        <h5> {% block MovieInfo %}{% endblock MovieInfo %} </h4>
  </div>
  <body>
    </div class="mainContent">
    {% block content %}{% endblock %}
  </body>
</html>

Вот домашняя страницагде отображаются фильмы;

{% extends "Movies/Parent.html" %}

{% block Images %}
  {% for Movie in Movies %}
    {{ Movie.Image }}
  {% endfor %}
{% endblock Images %}

{% block MovieInfo %}
  {% for Movie in Movies %}
      <h5> {{ Movie.Name }} </h5>
      <h5> Rating: {{ Movie.Rating }}</h5>
      <h5> Date: {{ Movie.Date_Posted }} </h5>
  {% endfor %}
{% endblock MovieInfo %}

{% block MovieName %}
    {% for Movie in Movies %}
      <h4> {{ Movie.Name }} </h4>
    {% endfor %}
{% endblock MovieName %}

А здесь возвращается информация о фильме, а также местоположение изображения фильма;

GivenMovies = [
    {
        'Image': 'static/Images/MovieImages/Thor.png',
        'Name': 'Thor',
        'Genre': 'Action',
        'Rating': '7.0',
        'Content': 'Mad Movie',
        'Date_Posted': 'January 18, 2017'
    },
    {
        'Image': 'static/Images/MovieImages/Constantine.jpg',
        'Name': 'Constantine',
        'Genre': 'Action, Sci-Fi',
        'Rating': '7.2',
        'Content': 'Another madness of a movie',
        'Date_Posted': 'January 18, 2015'
    }
]

def MainPage(request):
    AllMovies = {'Movies': GivenMovies}
    return render(request, 'Movies/HomePage.html', AllMovies)

1 Ответ

0 голосов
/ 30 ноября 2018

РЕДАКТИРОВАТЬ: После просмотра вашего кода снова, я думаю, что у вас есть вплоть до блоков.Я бы изменил это на что-то вроде этого

<!DOCTYPE html>
<html lang="en" dir="ltr">
   <head>
    <meta charset="utf-8">
    {% if title %}
      <title> {{ Flix | title }} </title>
    {% else %}
      <title> Flix </title>
    {% endif %}
    <link rel="stylesheet" href="/static/Css/Parent.css">
  </head>
  <body>
    </div class="mainContent">
    {% block content %}{% endblock %}
  </body>
</html>

Абсолютно!Это огромная часть Джанго.Вам нужно будет использовать цикл for в вашем HTML.

{% block content %}
{% for movie in Movies %}

<div>
     <div class="CardView"> #all card HTML in here
         <img src= '{{ movie.Image }}' alt="">
         <h5> {{ movie.Name }}  </h5>
         <h5> {{ movie.Genre }}  </h5>
         <h5> {{ movie.Rating }}  </h5>
         <h5> {{ movie.Content }}  </h5>
         <h5> {{ movie.Date_Posted }}  </h5>           
     </div>  
</div>
{% endfor %}
{% endblock %}

Возможно, вам придется переместить некоторые HTML-теги, чтобы получить то, что вы хотите, но это основная идея!Удачи!

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