Добавлен: 23.04.2023
Просмотров: 243
Скачиваний: 17
Содержание
Введение
Техническое задание и выбор средств реализации. 5
2. Описание модулей серверной части программы и их взаимодействие. 8
3. Описание структуры базы данных и ее функций. 11
4. Описание структуры клиентской части. 13
4.1 Описание интерфейса «Обычный пользователь». 13
4.2 Описание интерфейса «Администратор». 18
4.3 Инструкция пользователя. 20
Заключение
Список использованной литературы 23
Введение
Интернет стал, наиболее эффективным средством рекламы и продвижения и является одним из важных элементов современной цивилизации. Интернет может удовлетворить все потребности современного человека: это покупки, заключение деловых отношений, поиск клиентов и так далее. Но многие заходят в Интернет читать, развлекаться, общаться, узнавать что-то новое для себя. Поэтому создание сайтов стало таким популярным.
В данной работе будет создан сайт кинотеатра, на котором посетители сайта смогут посмотреть время сеанса или зарегистрироваться. Для выполнения поставленных работы необходимо:
- разработать страницы сайта на основе HTML кода;
- спроектировать таблицы стилей CSS для применения их на страницах сайта;
- создать базу данных для сайта на основе SQLite3;
- создать код Python (Django framework) для работы с данными.
Техническое задание и выбор средств реализации.
Необходимо разработать сайт «кинотеатр». Сайт должен быть выполнен, соблюдая следующие правила:
1) Общее количество разделов сайта должно быть не менее шести.
2) язык разметки сайта – HTML;
3) безошибочная работа, отображение в браузерах: InternetExplorer, MozillaFirefox, Opera (Chrome, Safari);
4) наличие страницы "Карта сайта";
5) все страницы сайта должны быть наполнены осмысленной информацией;
Задачи сайта кинотеатр:
- Дата выхода;
- информация о сеансах;
- цена билета;
- информация о кинотеатре;
Выбор средств был прост это коды 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» рис. 3.1
Рис. 3.1 Взаимосвязь базы данных с сайтом.
В БД SQLite сохраняются данные пользователей. При регистрации они нужны для в хода в систему пользователей. Каждый новый пользовать добавляется с новой строки. В таб. 3.1 краткое пояснение.
Таблица 3.1
Сохранения данных пользователей в базу данных
Наименования |
Расшифровка |
Разрешения символов |
Username |
Логин (имя пользователя) |
Все символы |
Password |
Пароль логина |
Все символы |
|
Электронный почтовый адрес |
Email@mail.com |
First Name |
Имя пользователя |
Все буквы |
Last Name |
Фамилия пользователя |
Все буквы |
В отдельном панели администратора администратор контролирует контент, имеет право изменять данные пользователей, удалять пользователя, а для обычного пользователя все эти возможности недоступны.
Описание структуры клиентской части.
4.1 Описание интерфейса «Обычный пользователь».
Для посетителей сайта есть доступ на сайт с осмотром информации по кинотеатру рис. 4.1.
Рис. 4.1 главная страница сайта
Для посетителей есть возможность зарегистрироваться рис. 4.2. Если уже зарегистрированы, то можно войти на сайт рис. 4.3. В разделе «О нас» можно узнать историю кинотеатра рис. 4.4.
На сайте также присутствуют и информация об сеансах, информация о ценах рис. 4.5 и также можно узнать о кинотеатре «A CINEMA» ее место нахождением на карте рис. 4.6. Страница событий с информацией о фильмах и акции рис. 4.7.
Рис. 4.2 Регистрации новых пользователей.
Рис. 4.3 Вход пользователей.
Рис. 4.4 О нас.
Рис. 4.5 Страница «Расписание» с расписанием сеанса
Рис. 4.6 Страница «Контакты» с контактами кинотеатра.
Рис. 4.7 Страница «Событие» с информацией о фильмах и акции
4.2 Описание интерфейса «Администратор».
Для администратора есть отдельный панель рис. 4.8 где администратор может изменить записи на странице рис. 4.9, а после сохранить изменения тем самым изменив их на сайте.
Рис. 4.8 Панель «Администратор»
Рис.4.9 Форма редактирования «Панель администратора»
Для посетителей сайта можно использовать меню для поиска нужной информации:
«Релизы» -главная страница информации о фильмах в прокате;
«Расписание» -расписание о сеансах, цены, дата и время показа фильмов;
«Событие» -информации о новых фильмах и акции;
«Контакты» - информация о кинотеатре со схемой проезда и контактные номера для сотрудничества;
«Вход» - вход для пользователей или регистрация новых пользователей.
«Регистрация» - регистрация новых пользователей.
«О нас» - история основания кинотеатра.
Заключение
При написании данного курсового проекта были проанализированы существующие языки и редакторы создания сайта, рассмотрены источники по теме работы, разработан сайт по теме кинотеатры, а также разработано руководство пользователя. Разработанный сайт предоставляет пользователю возможности найти информацию о фильмах, сеансах, узнать цены. Таким образом, цель работы достигнута, поставленные задачи выполнены.
. Оценивая проделанную работу, можно сделать следующие выводы:
- сайт предоставляет пользователям наиболее нужную ему информацию, а именно возможность ознакомиться со сеансом кинофильмов;
- реализована навигация с помощью меню по страницам сайта;