Добавлен: 28.03.2023
Просмотров: 106
Скачиваний: 2
Введение
Интернет стал, наиболее эффективным средством рекламы и продвижения и является одним из важных элементов современной цивилизации. Интернет может удовлетворить все потребности современного человека: это покупки, заключение деловых отношений, поиск клиентов и так далее. Но многие заходят в Интернет читать, развлекаться, общаться, узнавать что-то новое для себя. Поэтому создание сайтов стало таким популярным.
В данной работе будет создан сайт банка, на котором посетители смогут видеть возможные варианты вкладов и кредитов, осуществлять переводы сумм другим лицам, а также получать справочную информацию о банке, такую как адреса отделений и контактные телефоны линии поддержки. Для выполнения поставленных работы необходимо:
- разработать страницы сайта на основе HTML кода;
- спроектировать таблицы стилей CSS для применения их на страницах сайта;
- создать базу данных для сайта на основе SQLite3;
- создать код Python (Django framework) для работы с данными.
Техническое задание и выбор средств реализации.
Техническое задание.
Необходимо разработать сайт «SberMoney». Сайт должен быть выполнен, соблюдая следующие правила:
1) Общее количество разделов сайта должно быть не менее шести.
2) язык разметки сайта – HTML;
3) безошибочная работа, отображение в браузерах: InternetExplorer, MozillaFirefox, Opera (Chrome, Safari);
4) наличие страницы "Карта сайта";
5) все страницы сайта должны быть наполнены осмысленной информацией;
Задачи сайта SberMoney:
- Предоставление информации по доступным вкладам
- Контактная информация
- Ипотечные займы
- Справочная информация по платежам и переводам
- Микрокредиты
- Для начинающих предпринимателей
Выбор средств был прост это коды html, css, python(Django framework). Базой данных служит файлы с данными.
HTML (HyperText Markup Language) — язык разметки (маркировки) гипертекста. Гипертекст своим развитием обязан интернету, хоть и создавался он совсем не для того. HTML дает возможность производить переход от одной части текста к другой, и, что замечательно, эти части могут храниться на совершенно разных компьютерах.
HTML не стоит путать с языками программирования, он создан специально для разметки Web-страниц. Именно язык разметки дает браузеру необходимые инструкции о том, как отображать тексты и другие элементы страницы на мониторе. Важно заметить, что не только различные браузеры, но и различные их версии могут по-разному воспринимать и отображать на экране код.
CSS (Cascading Style Sheets) — язык таблиц стилей, который позволяет прикреплять стиль (например, шрифты и цвет) к структурированным документам (например, документам HTML и приложениям XML). Обычно CSS-стили используются для создания и изменения стиля элементов веб-страниц и пользовательских интерфейсов, написанных на языках HTML и XHTML, но также могут быть применены к любому виду XML-документа, в том числе XML, SVG и XUL. Отделяя стиль представления документов от содержимого документов, CSS упрощает создание веб-страниц и обслуживание сайтов. CSS поддерживает таблицы стилей для конкретных носителей, поэтому авторы могут адаптировать представление своих документов к визуальным браузерам, слуховым устройствам, принтерам, брайлевским устройствам, карманным устройствам и т.д.
Каскадные таблицы стилей описывают правила форматирования элементов с помощью свойств и допустимых значений этих свойств. Для каждого элемента можно использовать ограниченный набор свойств, остальные свойства не будут оказывать на него никакого влияния.
Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Python поддерживает структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное программирование. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений, высокоуровневые структуры данных. Поддерживается разбиение программ на модули, которые, в свою очередь, могут объединяться в пакеты.
Django — свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Проект поддерживается организацией Django Software Foundation.
Сайт на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из существенных архитектурных отличий этого фреймворка от некоторых других (например, Ruby on Rails). Один из основных принципов фреймворка — DRY (англ. Don't repeat yourself)
Также, в отличие от других фреймворков, обработчики URL в Django конфигурируются явно при помощи регулярных выражений.
Для работы с базой данных Django использует собственный ORM, в котором модель данных описывается классами Python, и по ней генерируется схема базы данных.
.
Описание модулей серверной части программы и их взаимодействие.
В работе с северной частью проведено с использованием python c SQLite. Работа с БД осуществляется при помощи следующими командой который отображает информацию на странице сайта c БД SQLite. Большинство функции в python берет на себя фреймворк Django. В Django встроена аутентификация, авторизация и регистрация пользователя, а также админ панель.
Взаимодействие с БД SQLite:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
Система регистрации в Django осуществляется следующим образом:
def register(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
form.save()
return redirect('/')
else:
form = RegistrationForm()
return render(request, 'register.html', {'form': form})
После этого нужно создать форму, где нужно указать поля для регистрации в виде:
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
При помощи Django проводится проверка пользователей. Дальнейший код проводит проверку логинов и паролей.
Пример проверки логинов и паролей:
def signin (request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return render(request, 'signin.html')
После входа идет проверка на права доступа. Панель администратора в Django встроенный. Чтобы активировать панель администратора нужно написать следующий код:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
]
Описание структуры базы данных и ее функций.
База данных в работе является табличной структурой. В базе данных присутствуют таблицы «main_moviepremiere», «main_movie», «main_movie_picture», «main_movieimages», «main_news» рис. 1
Рис. 1 Взаимосвязь базы данных с сайтом.
В БД SQLite сохраняются данные пользователей. При регистрации они нужны для в хода в систему пользователей. Каждый новый пользовать добавляется с новой строки. В таб. 1 краткое пояснение.
Таблица 1
Сохранения данных пользователей в базу данных
Наименования |
Расшифровка |
Разрешения символов |
Username |
Логин (имя пользователя) |
Все символы |
Password |
Пароль логина |
Все символы |
|
Электронный почтовый адрес |
Email@mail.com |
First Name |
Имя пользователя |
Все буквы |
Last Name |
Фамилия пользователя |
Все буквы |
В отдельной панели администратора администратор контролирует контент, имеет право изменять данные пользователей, удалять пользователей, в то время как для обычного пользователя все эти возможности недоступны.
Описание структуры клиентской части.
Описание интерфейса «Обычный пользователь».
Для посетителей сайта есть доступ на сайт с осмотром информации по банку рис. 2.
Рис. 2 Главная страница сайта
Для посетителей есть возможность восстановить пароль (рис. 3). Если уже зарегистрированы, то можно войти на сайт (рис. 4). В разделе «Контактная информация» можно узнать контактный телефон банка, а также расположение отделений банка (рис. 5).
На сайте также присутствуют и информация о возможных вариантах вкладов, предложения кредитов, а также специальные срочные акции, как для обычных клиентов банка, так и для юридических лиц (рис. 6).
Рис. 3 Восстановление пароля пользователя.
Рис. 4 Вход пользователей.
Рис. 5 Контактная информация.
Рис. 6 Страница с доступными опциями вкладов и кредитов
Описание интерфейса «Администратор».
Для администратора есть отдельная панель (рис. 7) где администратор может изменить записи на странице (рис. 8), а после сохранить изменения тем самым изменив их на сайте.
Рис. 7 Панель «Администратор»
Рис.8 Форма редактирования «Панель администратора»
Инструкция пользователя.
Для посетителей сайта можно использовать меню для поиска нужной информации:
«Главная» -главная страница информации;
«Вклады и кредиты» -каталог доступных вариантов вкладов и кредитов;
«Акции» -информации о новых и предстоящих акциях;
«Контактная информация» - информация о банке;
«Вход» - вход для пользователей.
«Регистрация» - регистрация новых пользователей.
Заключение
При написании данного курсового проекта были проанализированы существующие языки и редакторы создания сайта, рассмотрены источники по теме работы, разработан сайт по теме «Отделение банка», а также разработано руководство пользователя. Разработанный сайт предоставляет пользователю возможности найти информацию о вкладах, кредитах, акциях. Таким образом, цель работы достигнута, поставленные задачи выполнены.
. Оценивая проделанную работу, можно сделать следующие выводы:
- сайт предоставляет пользователям наиболее нужную ему информацию, а именно возможность ознакомиться с широким спектром возможных вкладов и кредитов;
- реализована навигация с помощью меню по страницам сайта;
Для реализации сайта были использованы следующие средства:
- язык разметки гипертекста html и css;
- язык программирования python;
- Django фреймворк;
Список использованной литературы
- Доусон М. Программируем на Python. – СПб.: Питер, 2014. – 416 с.
- Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 1280 с.
- Лутц М. Программирование на Python, том I, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 992 с.
- Лутц М. Программирование на Python, том II, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 992 с.
- Прохоренок Н.А. Python 3 и PyQt. Разработка приложений. – СПб.: БХВ-Петербург, 2012. – 704 с.
- Вабищевич П. Н. Численные методы. Вычислительный практикум. – – 320 c.
- Пилгрим Марк. Погружение в Python 3 (Dive into Python 3 на русском)
- Прохоренок Н.А. Самое необходимое. — СПб.: БХВ-Петербург, 2011. — 416 с.
- Хахаев И.А. Практикум по алгоритмизации и программированию на Python. – М.: Альт Линукс, 2010. — 126 с. (Библиотека ALT Linux).
- Чаплыгин А.Н. Учимся программировать вместе с питоном.
- Мейер, Б. Инструменты, алгоритмы и структуры данных / Б. Мейер. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016. Allen Downey – ThinkPython+Kart[Python_3.2]
- https://www.djangoproject.com/
- https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django
- https://developer.mozilla.org/en-US/docs/Web/HTML
- https://html5book.ru/