Загрузка данных
Base.html
<!DOCTYPE html>
<html lang="ru">
<head>
{% block title %}<title>Мир книг</title>{% endblock %}
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
{% load static %}
<link rel="stylesheet" href="{% static 'css/styles.css' %}">
{% block head %}
<img src="{% static 'images/logotip.jpg' %}" style="width:100px; height:100px;" align="absmiddle">
<font size=7 color="blue">Сайт "Мир книг"</font>
{% endblock %}
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-sm-2">
{% block sidebar %}
<ul class="sidebar-nav">
<li><a href="{% url 'index' %}">Главная страница</a></li>
<li><a href="{% url 'books' %}">Все книги</a></li>
<li><a href="{% url 'authors' %}">Все авторы</a></li>
<li><a href="{% url 'authors_add' %}">Редактировать авторов</a></li>
<li><a href="{% url 'book_create' %}">Добавить книгу</a></li>
{% if user.is_authenticated %}
<li>Пользователь: {{ user.get_username }}</li>
<li><a href="{% url 'my-borrowed' %}">Мои заказы</a></li>
<li><a href="{% url 'logout' %}?next={{ request.path }}">Выход</a></li>
{% else %}
<li><a href="{% url 'login' %}?next={{ request.path }}">Вход</a></li>
{% endif %}
</ul>
{% endblock %}
</div>
<div class="col-sm-10">
{% block content %}{% endblock %}
{% block pagination %}
{% if is_paginated %}
<div class="pagination">
<span class="page-links">
{% if page_obj.has_previous %}
<a href="{{ request.path }}?page={{ page_obj.previous_page_number }}">Предыдущая</a>
{% endif %}
<span class="page-current">
Страница {{ page_obj.number }} из {{ page_obj.paginator.num_pages }}.
</span>
{% if page_obj.has_next %}
<a href="{{ request.path }}?page={{ page_obj.next_page_number }}">Следующая</a>
{% endif %}
</span>
</div>
{% endif %}
{% endblock %}
{% block footer %}
<p>Copyright ООО "Люди и книги", 2020. Все права защищены</p>
{% endblock %}
</div>
</div>
</div>
</body>
</html>
Index. Html
{% extends "base_generic.html" %}
{% block content %}
<h1>Главная страница</h1>
<p>Добро пожаловать в <em>Мир книг</em>, Это очень простой веб-сайт, написанный на Django.</p>
<h2>Динамический контент</h2>
<p>База данных сайта Мир книг содержит следующее количество записей:</p>
<ul>
<li><strong>Количество книг:</strong> {{ num_books }}</li>
<li><strong>Количество экземпляров книг:</strong> {{ num_instances }}</li>
<li><strong>Количество экземпляров книг в заказе:</strong> {{ num_instances_available }}</li>
<li><strong>Количество авторов книг:</strong> {{ num_authors }}</li>
</ul>
<p>Количество посещений данной страницы - {{ num_visits }}</p>
{% endblock %}
Edit1. Html
{% extends "base_generic.html" %}
{% block content %}
<h4>Редактируем: {{ author.first_name }} {{ author.last_name }}</h4>
<form method="POST">
{% csrf_token %}
<p>Имя: <input type="text" name="first_name" value="{{ author.first_name }}"></p>
<p>Фамилия: <input type="text" name="last_name" value="{{ author.last_name }}"></p>
<p>Дата рождения: <input type="date" name="date_of_birth" value="{{ author.date_of_birth|date:'Y-m-d' }}"></p>
<p>Дата смерти: <input type="date" name="date_of_death" value="{{ author.date_of_death|date:'Y-m-d' }}"></p>
<input type="submit" value="Сохранить">
</form>
{% endblock %}
Book_list.html
{% extends "base_generic.html" %}
{% block content %}
<h1>Список книг в БД</h1>
{% if book_list %}
<ul>
{% for book in book_list %}
<li>
<a href="{{ book.get_absolute_url }}">{{ book.title }}</a> ({{ book.genre }})
<a href="{% url 'book_update' book.id %}">Изменить</a> ,
<a href="{% url 'book_delete' book.id %}">Удалить</a>
</li>
{% endfor %}
</ul>
{% else %}
<p>В базе данных нет книг</p>
{% endif %}
{% endblock %}
Book_detailded.html
{% extends "base_generic.html" %}
{% block content %}
<h1>Название книги: {{ book.title }}</h1>
<p><strong>Жанр:</strong> {{ book.genre }}</p>
<p><strong>Аннотация:</strong> {{ book.summary }}</p>
<p><strong>ISBN:</strong> {{ book.isbn }}</p>
<p><strong>Язык:</strong> {{ book.language }}</p>
{% for author in book.author.all %}
<p><strong>Автор:</strong> {{ author.first_name }} {{ author.last_name }}</p>
{% endfor %}
<div style="margin-left:20px;margin-top:20px">
<h4>Количество экземпляров книг в БД</h4>
{% for copy in book.bookinstance_set.all %}
<hr>
<p class="{% if copy.status.name == 'На складе' %} text-success
{% elif copy.status.name == 'В заказе' %} text-danger
{% else %} text-warning
{% endif %}">
<strong>Статус:</strong> {{ copy.status.name }}
</p>
<p><strong>Издательство:</strong> {{ copy.imprint }}</p>
<p class="text-muted"><strong>Инвентарный номер:</strong> {{ copy.inv_nom }}</p>
{% endfor %}
</div>
{% endblock %}
Author list. Html
{% extends "base_generic.html" %}
{% block content %}
<h1>Список авторов в БД</h1>
{% if author_list %}
<ul>
{% for author in author_list %}
<li>
{{ author.last_name }} {{ author.first_name }}
({{ author.date_of_birth }} - {{ author.date_of_death }})
</li>
{% endfor %}
</ul>
{% else %}
<p>В базе данных нет авторов</p>
{% endif %}
{% endblock %}
Authors_add.html
{% extends "base_generic.html" %}
{% block content %}
<h3>Список авторов в БД</h3>
<table>
{% for a in author %}
<tr>
<td>{{ a.id }}</td>
<td>{{ a.first_name }}</td>
<td>{{ a.last_name }}</td>
<td><a href="{% url 'edit' a.id %}">Изменить</a> | <a href="{% url 'delete' a.id %}">Удалить</a></td>
</tr>
{% endfor %}
</table>
<h3>Добавить в БД автора книги</h3>
<form method="POST" action="{% url 'create' %}">
{% csrf_token %}
<table>{{ form.as_table }}</table>
<input type="submit" value="Сохранить">
</form>
{% endblock %}
Books_forms.html
{% extends "base_generic.html" %}
{% block content %}
<form action="" method="post">
{% csrf_token %}
<table>{{ form.as_table }}</table>
<input type="submit" value="Сохранить" />
</form>
{% endblock %}
Book_confirm_delete.html
{% extends "base_generic.html" %}
{% block content %}
<h1>Удаление книги</h1>
<p>Вы уверены, что хотите удалить книгу: "{{ book }}"?</p>
<form action="" method="POST">
{% csrf_token %}
<input type="submit" value="Да, удалить" />
</form>
{% endblock %}
Bookinstance_list_borrower_user.html
{% extends "base_generic.html" %}
{% block content %}
<h1>Взятые книги</h1>
{% if bookinstance_list %}
<ul>
{% for bookinst in bookinstance_list %}
<li class="{% if bookinst.is_overdue %}text-danger{% endif %}">
<a href="{% url 'book-detail' bookinst.book.pk %}">{{ bookinst.book.title }}</a>
(Вернуть до: {{ bookinst.due_back }})
</li>
{% endfor %}
</ul>
{% else %}
<p>Нет книг со статусом В ЗАКАЗЕ.</p>
{% endif %}
{% endblock %}
Login. Html
{% extends "base_generic.html" %}
{% block content %}
{% if form.errors %}
<p>Ваше имя пользователя и пароль не совпадали. Пожалуйста, попробуйте еще раз.</p>
{% endif %}
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
<table>
<tr><td>{{ form.username.label_tag }}</td><td>{{ form.username }}</td></tr>
<tr><td>{{ form.password.label_tag }}</td><td>{{ form.password }}</td></tr>
</table>
<input type="submit" value="Вход" />
<input type="hidden" name="next" value="{{ next }}" />
</form>
<p><a href="{% url 'password_reset' %}">Утерян пароль?</a></p>
{% endblock %}
Logged_out.html
{% extends "base_generic.html" %}
{% block content %}
<p>Выход из системы!</p>
<a href="{% url 'login' %}">Нажмите здесь, чтобы снова войти в систему.</a>
{% endblock %}
Запуск