Добавлен: 28.03.2023
Просмотров: 109
Скачиваний: 2
Base.html:
{% load static %}
<!DOCTYPE html>
<html>
<head>
{% block head %}
{% endblock %}
<meta charset="UTF-8">
<title>Releases</title>
<link rel="stylesheet" href="{% static 'css/base-style.css' %}">
</head>
<body>
<header>
<a href="{% url 'release' %}" class="logo-1"><h1 class="logo">A Локон</h1></a>
{% if user.is_authenticated %}
<ul>
<li><a href="{% url 'release' %}">Вклад</a></li>
<li><a href="{% url 'schedule' %}">О банке</a></li>
<li><a href="{% url 'news' %}">Ипотека</a></li>
<li><a href="{% url 'contacts' %}">Контакты</a></li>
<a href="{% url 'profile' %}"><button class="register-but">Профиль</button></a>
<a href="{% url 'logout'%}"><button class="signin-but"> Выйти </button></a>
</ul>
{% else %}
<ul>
<li><a href="{% url 'release' %}">Вклад</a></li>
<li><a href="{% url 'schedule' %}">О банке</a></li>
<li><a href="{% url 'news' %}">Ипотека</a></li>
<li><a href="{% url 'contacts' %}">Контакты</a></li>
<a href="{% url 'register' %}"><button class="register-but">Регистрация</button></a>
<a href="{% url 'login' %}"><button class="signin-but"> Войти </button></a>
</ul>
{% endif %}
</header>
<!-- <main> -->
{% block body %}
{% endblock %}
<!-- </main> -->
<footer>
<div class="flex-footer">
<p class="footer-logo">SberMoney</p>
<div class="links">
<a href="{% url 'about_us' %}" class="footer"><p class="footer-link">О Нас</p></a>
<a href="{% url 'ads' %}" class="footer"><p class="footer-link">Реклама</p></a>
<a href="{% url 'jobs' %}" class="footer"><p class="footer-link">Вакансии</p></a>
<a href="{% url 'contacts' %}" class="footer"><p class="footer-link">Контакты</p></a>
</div>
<div class="social-media">
<p class="footer-link">Следите за новостями банка</p>
<img class="logos" src="{% static 'images/instagram.png' %}" alt="">
<img class="logos" src="{% static 'images/vk.png' %}" alt="">
<img class="logos" src="{% static 'images/twitter.png' %}" alt="">
<img src="{% static 'images/facebook.png' %}" alt="" class="logos">
<p class="author">Создание и разработка сайта — Ivanov Denis</p>
</div>
</div>
</footer>
</body>
</html>
main-page.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-main-page.css' %}">
{% endblock %}
{% block body %}
<main>
<h1 class="bank">Банки</h1>
<div class="list-bank">
{% for m in banks %}
<div class="flex-banks">
<a href="{% url 'movie' m.bank_name %}"> <img src="{{ m.poster.url }}" alt="" class="first-bank-image"></a>
</div>
{% endfor %}
</div>
<!--<div class="mailing-list">-->
<!--<form action="">-->
<!--<p class="text-mailing-list">Присоединяйтесь к списку рассылки, чтобы оставаться с нами</p>-->
<!--<input class="input-mail" type="text" name="mail">-->
<!--<input class="mailing-button" type="button" value="Отправить"> -->
<!--</form>-->
<!--</div>-->
</main>
{% endblock %}
News.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-news.css' %}">
{% endblock %}
{% block body %}
<main class="news">
<h1 class="news-header">Событие</h1>
{% for n in news %}
<div class="news-1">
<div class="part-1">
<img src="{{ n.image.url }}" alt="" class="news-image-1">
</div>
<div class="part-2">
<h5 class="little-header">Событие</h5><hr class="line-1">
<h2 class="news-info">{{ n.title }}</h2>
<hr class="line-2">
<p class="news-text">{{ n.info }}</p>
<a href="{% url 'news_detail' n.title %}"><button class="button-details">Подробнее</button></a>
</div>
</div>
{% endfor %}
</main>
{% endblock %}
News-detail.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-news_detail.css' %}">
{% endblock %}
{% block body %}
<!--{% if detail %}-->
<main>
<h1 class="title">{{ detail.title }}</h1>
<hr>
<p class="text-detail">{{ detail.main_text }}</p>
</main>
<!--{% endif %}-->
{% endblock %}
Profile.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-profile.css' %}">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
{% endblock %}
{% block body %}
<main>
<div class="container">
<h1>Профиль</h1>
<p>Имя пользователя: {{ user }}</p>
<p>Имя: {{ user.first_name }}</p>
<p>Фамилия: {{ user.last_name }}</p>
<p>Почта: {{ user.email }}</p>
</div>
</main>
{% endblock %}
Register.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-register.css' %}">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
{% endblock %}
{% block body %}
<main>
<form method="POST" class="container">
<h1 class="header-little">Создать Аккаунт</h1>
{% csrf_token %}
{{ form.as_p }}
<input type="submit" class="save-button" value="Сохранить">
</form>
</main>
{% endblock %}
Signin.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-signin.css' %}">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
{% endblock %}
{% block body %}
<main>
<div class="signin">
<h1 class="login-text">Войти</h1>
<form action="" class="container" method="POST">
{% csrf_token %}
{{ form.as_p }}
<input class="btn btn-dark" type="submit" value="Войти">
</form>
</div>
</main>
{% endblock %}
Schedule.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-schedule.css' %}">
{% endblock %}
{% block body %}
<main class="schedule-main">
<h1 class="schedule">О банке</h1>
</div>
<hr>
<div class="schedule-movies">
{% for bank in banks %}
<div class="bank-1">
<a href="{% url bank bank.bank_name %}"> <img src="{{ movie.poster.url }}" alt="" class="poster"></a>
<div class="bank-1-1">
<a class="bank-name-link" href="{% url 'bank' bank.bank_name %}"> <h3 class="bank-name">{{ bank.bank_name }}</h3></a>
<p class="genre">{{ bank.age }} {{ movie.genre }} </p>
<ul class="when">
{% for premiere in premieres %}
<li class="quality">{{ premiere.quality }}</li>
<li class="times"><p class="time">{{ premiere.date | date:"D d M Y" }}</p> <p>от {{ premiere.cost }}р.</p></li>
<!--<li class="times"><p class="time">15:30</p> <p>от 350р.</p></li>-->
<!--<li class="times"><p class="time">15:30</p> <p>от 350р.</p></li>-->
{% endfor %}
</ul>
</div>
</div>
{% endfor %}
</div>
</main>
{% endblock %}
bank.html:
{% extends 'base.html' %}
{% load static %}
{% load embed_video_tags %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-movie.css' %}">
{% endblock %}
{% block body %}
<main class="main-movie">
<div class="flex-movie">
<div class="flex-1">
<img src="{{ film.poster.url }}" alt="" class="movie-poster">
<p class="movie-age">{{ film.age }}</p>
<h1>{{ film.movie_name }}</h1>
<p class="movie-info-header">Вакансии</p>
<p class="movie-info">{{ film.date_release | date:"d M Y" }}</p>
<p class="movie-info-header">Вклады</p>
<p class="movie-info">{{ film.genre }}</p>
<p class="movie-info-header">Контакты</p>
<p class="movie-info">{{ film.producer }}</p>
<p class="movie-info-header">Стоимость</p>
<p class="movie-info">{{ film.duration }} мин.</p>
<p class="about-movie">{{ film.about }}</p>
</div>
<div class="flex-2">
<div class="bank-week">
</div>
<h3 class="name-of-bank">SberMoney</h3>
<p class="address">м. Павелецкая</p>
<ul class="when">
{% for premiere in premieres %}
<li class="quality">{{ premiere.quality }}</li>
<li class="times"><p class="time">{{ premiere.date | date:"D d M Y" }}</p> <p>от {{ premiere.cost }}р.</p></li>
{% endfor %}
</ul>
<a href="{% url 'schedule' %}" class="all-schedule" id="all-sched">ВСЕ О ВКЛАДАХ</a>
<div class="movie-trailer">
<iframe width="760" height="456" src="{{ film.video }}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="flex-shots">
<p class="screenshots-header">Наши кадры</p>
{% for pic in film.pictures.all %}
<img src="{{ pic.images.url }}" alt="" class="screenshots">
{% endfor %}
</div>
</div>
</div>
</main>
{% endblock %}
About-us.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-about-us.css' %}">
{% endblock %}
{% block body %}
<main>
<h1 class="bank">О нас</h1>
</main>
{% endblock %}
Ads.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-about-us.css' %}">
{% endblock %}
{% block body %}
<main>
<h1 class="bank">Размещение рекламы</h1>
<p>
Наши банки предлагают широкие рекламные возможности как для традиционной рекламы , так для различных спецпроектов.
Наружная реклама, которая оказывает точечное воздействие на местное сообщество – жителей и часто бывающих в районе расположения, используется всеми банками. Наружная реклама - наиболее востребованное и эффективное средство рекламы с относительно низким порогом вхождения. Особенно популярны у банков разноформатные билборды (щиты), городские указатели и транспарант-перетяжки.
Ознакомтесь с нашими банками перейдя по ссылке.
Перечень основных рекламных возможностей:
- билборды (щиты).
- городские указатели.
- используют продающие сайты, оптимизацию сайтов в поисковых системах, контекстную и баннерную рекламу в Интернет.
- эскалаторные и вестибюльные щиты в метрополитене у выходов к офисам банков.
- Размещение рекламы в лайтбоксах сити-формата в фойе
- Размещение рекламных стоек, ролл-апов в фойе
- реклама на стикерах в вагонах метр.
- Размещение рекламы на столиках в барах, кафе.
По вопросам размещения рекламы и просчета рекламных кампаний, обращайтесь в Коммерческий департамент: (495) 711-50-55 или на SberMoney@bank.ru
</p>
</main>
{% endblock %}
Contacts.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-contacts.css' %}">
{% endblock %}
{% block body %}
<main>
<div class="center-elements">
<h1 class="movies">Контакты</h1>
<img src="{% static 'images/map.png' %}" alt="" class="map-image">
</div>
<div class="flex">
<div class="part-1">
<div class="info">
<a href="#"><p class="phone-number">+7 (495) 771-70-70</p></a>
</div>
<div class="info">
<a href="#"><p class="phone-number">+(495) 711-50-55 </p></a>
Отдел маркетинга и PR
</div>
<div class="info">
<a href="#"><p class="phone-number">+7(495) 711-50-55 p></a>
Отдел кадров
</div>
<div class="info">
<a href="#"><p class="phone-number">+ 7 (495) 711-50-55 (103) </p></a>
Поддержка бонусной программы
</div>
<div class="info">
<a href="#"><p class="phone-number">+7 (495) 785-17-03</p></a>
По вопросам электронных переводов
</div>
</div>
<div class="part-2">
<div class="info">
<a href="#"><p class="phone-number"> SberMoney@bank.ru
</p></a>
По работе банка
</div>
<div class="info">
<a href="#"><p class="phone-number"> SberMoney@bank.ru
</p></a>
По вопросам сотрудничества
</div>
<div class="info">
<a href="#"><p class="phone-number"> SberMoney@bank.ru
</p></a>
Департамент по персоналу
</div>
<div class="info">
<a href="#"><p class="phone-number"> SberMoney@bank.ru
</p></a>
По вопросам работы сайта и бонусной программы
</div>
<div class="info">
<a href="#"><p class="phone-number"> SberMoney@bank.ru
</p></a>
Поддержка по электронным переводам, а также по <br> телефону: +7(495)785-17-03
</div>
</div>
<div class="text-bottom">
<h1>Управляющая компания <br> " Локон "</h1>
<p>125445, г. Москва ул. Правобережная д. 1«Б», <br> ТРЦ «Ленинградский», тел.: +7 (495)771-70-1</p>
</div>
</div>
</main>
{% endblock %}
Jobs.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-about-us.css' %}">
{% endblock %}
{% block body %}
<main>
<h1 class="movies">Вакансии</h1>
<p>Сотрудники компании SberMoney и наших банков- это дружный и сплоченный коллектив и главная его задача — обеспечить посетителям нашего банка максимум комфорта.
Вам предоставляются ясные перспективы, уверенность в завтрашнем дне, социальная защищенность — мы прилагаем все усилия, чтобы быть идеальным работодателем для своих сотрудников.
Дополнительные преимущества
- Гибкий график работы
- Бесплатное питание
- Работа в стабильной компании
- Перспективы карьерного роста
Вам достаточно заполнить анкету или отправить резюме по адресу: Sberabota@bank.ru
</p>
</main>
{% endblock %}
Logout.html:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<link rel="stylesheet" href="{% static 'css/style-about-us.css' %}">
{% endblock %}
{% block body %}
<main>
<h1 class="movies">Вы вышли с аккаунта!</h1>
<p>Спасибо за посещение!</p>
</main>
{% endblock %}
Admin.py:
from django.contrib import admin
from .models import bank, Users, bankPremiere, News, bankImages
class bankPremiereAdmin(admin.ModelAdmin):
list_display = ['day', 'time', 'bank','quality', 'cost']
class bankAdmin(admin.ModelAdmin):
list_display = [‘bank_name', 'date_release', 'duration', 'country', 'genre', 'age']
class bankImagesAdmin(admin.ModelAdmin):
list_display = ['title', 'images']
admin.site.register(Movie, BankAdmin)
admin.site.register(Users)
admin.site.register(BankPremiere, BankPremiereAdmin)
admin.site.register(News)
admin.site.register(BankImages)
cinema/urls.py:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('main.urls')),
]
forms.py:
from django.forms import ModelForm, Textarea
from .models import Users
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from django import forms
class RegistrationForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email', 'password1', 'password2')
def save(self, commit=True):
user = super(RegistrationForm, self).save(commit=False)
user.firstname = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
user.email = self.cleaned_data['email']
if commit:
user.save()
return user
class UsersForm(ModelForm):
class Meta:
model = Users
fields = ('first_name', 'last_name', 'username', 'email', 'password')
# widgets = {
# 'first_name': Textarea(attrs={'font-size':200})
# }
models.py:
from django.db import models
from embed_video.fields import EmbedVideoField
class Users(models.Model):
first_name = models.CharField(max_length=30, blank=False, verbose_name="Имя")
last_name = models.CharField(max_length=50, blank=False, verbose_name="Фамилия")
username = models.CharField(max_length=100, blank=False, verbose_name="Имя Пользователя")
email = models.CharField(max_length=250, blank=False, unique=True, verbose_name="Почта")
password = models.CharField(max_length=100, blank=False, verbose_name="Пароль")
class Meta:
verbose_name = 'Пользователь'
verbose_name_plural = 'Пользователи'
def __str__(self):
return self.username
class MovieImages(models.Model):
images = models.ImageField(upload_to='media/')
class Meta:
verbose_name = 'Кадр'
verbose_name_plural = 'Кадры'
def __str__(self):
return self.images.name
class Movie(models.Model):
genres = [
('horror', 'Ужасы'),
('fantasy', 'Фэнтези'),
('drama', 'Драма'),
('comedy', 'Комедия'),
('action', 'Экшн'),
]
ages = [
('3+', '3+'),
('7+', '7+'),
('13+', '13+'),
('18+', '18+'),
('21+', '21+'),
]
movie_name = models.CharField(max_length=250, blank=False, verbose_name="Название вклада")
poster = models.ImageField(upload_to='media/', blank=False, verbose_name=’Тип’)
date_release = models.DateTimeField(auto_now=False, auto_now_add=False, blank=False, verbose_name='Дата')
about = models.TextField(verbose_name='О банке', blank=False)
duration = models.IntegerField(verbose_name='Расчет')
country = models.CharField(max_length=200, blank=False, verbose_name='Партнеры')
genre = models.CharField(max_length=30, choices=genres, default=None, blank=False, verbose_name=’Предложения')
actors = models.TextField(blank=False, verbose_name='Доход')
producer = models.CharField(max_length=250, blank=False, verbose_name='Страхование')
age = models.CharField(max_length=2, choices=ages, default=None, blank=False, verbose_name='Возраст')
video = EmbedVideoField(blank=True, verbose_name=" ")
pictures = models.ManyToManyField(MovieImages)
class Meta:
verbose_name = 'Счета'
verbose_name_plural = 'Вклады'
def __str__(self):
return self.movie_name
class BankPremiere(models.Model):
days = [
('Понедельник', 'Понедельник'),
('Вторник', 'Вторник'),
('Среда', 'Среда'),
('Четверг', 'Четверг'),
('Пятница', 'Пятница'),
('Суббота', 'Суббота'),
('Воскресенье', 'Воскресенье'),
]
qty_2d = '2D'
qualitys = [
(qty_2d, '2D'),
('3D', '3D')
]
date = models.DateField(blank=False, auto_now_add=False, auto_now=False, verbose_name='Дата премьеры')
day = models.CharField(max_length=20, choices=days, default=None, verbose_name='День недели')
time = models.DateTimeField(auto_now=False, auto_now_add=False, blank=False, verbose_name='Время премьеры')
quality = models.CharField(max_length=5, choices=qualitys, default=qty_2d, verbose_name='Качество')
cost = models.DecimalField(max_digits=4, decimal_places=0, verbose_name='Цена')
movie = models.ForeignKey(Movie, on_delete=models.CASCADE)
class Meta:
verbose_name = 'Премьера'
verbose_name_plural = 'Премьеры'
def __str__(self):
return self.day
class News(models.Model):
title = models.CharField(max_length=250, blank=False)
image = models.ImageField(upload_to='media/', blank=False)
info = models.TextField()
main_text = models.TextField()
class Meta:
verbose_name = 'Новость'
verbose_name_plural = 'Новости'
def __str__(self):
return self.title