Файл: Разработка сайта БАНКА «Sbermoney.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 109

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Приложения

Код html

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 %}

Python(Django) код

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