Проектирование и разработка автоматизированной информационной системы Туристической Фирмы

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Программирование
  • 42 42 страницы
  • 12 + 12 источников
  • Добавлена 02.06.2023
1 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
Введение 3
1. Предмет и объект в рамках работы 4
2. Обзор существующих инструментов разработки веб-сайтов 5
2.1 Обзор существующих информационных систем в туристической индустрии 6
3. Обоснования выбора инструментов для веб-разработки 8
4. Подготовка окружения 10
4.1 Установка и настройка Python 10
4.2 Создание приложения проекта внутри Django 11
4.3 Регистрация приложения в системе Django 11
5. Настройка панели администрирования 13
5.1 Создание суперпользователя 13
5.2 Настройка пути для медиа 15
5.3 Создание модели данных 15
5.4 Применение модели данных 17
6. Создание представлений и обработка данных 19
6.1 Создание представления и HTML шаблона главной страницы 19
6.2 Создание представления и HTML шаблона страницы заказа 23
6.3 Создание представления и HTML шаблона страницы тура 25
7. Добавление новых пользователей и делегирование прав 30
7.1 Создание групп пользователей и делегирование им прав 30
7.2 Создание пользователей и добавление их в группы 33
8. Дальнейшее развитие 36
8.1 Аутентификация 36
8.3 Поиск туров 36
Заключение 37
Список литературы 38

Фрагмент для ознакомления

Такими характеристиками могут выступать такие параметры как возможность взять детей или животных в номер, расстояние до пляжа, город, количество звезд и. т. п.Для этого нам необходимо сначала заполнить карточки через панель администрирования Djangoи обновить нашу таблицу с базой данных.Когда карточки заполнены можно приступать к созданию HTMLшаблона и представления, обрабатывающего этот шаблон. В нашем случае, HTMLшаблон будет выглядеть следующим образом.(См. Рис. 28)После этого, создадим CSSфайл для данной странице, определив следующие требования к отображению контента карточки тура:Изображение должно находиться слева и иметь максимальные размеры 800х800 пикселейВнизу карточки должна находиться кнопка «Сделать заказ»Исходя из этих требований, наш CSSфайл для разметки содержимого страницы будет иметь следующую структуру: (См. Рис. 29)Рисунок 28. HTMLшаблон карточки тураРисунок 29. CSSстиль карточки тураТеперь нам необходимо создать представление для отображения содержимого нашей страницы. Для этого в файле views.pyсоздадим новую функцию,(См. Рис. 30) к которой будем обраться из файла url.pyи из нашего HTMLшаблона.(См. Рис. 31)Рисунок 30. Функция-представление карточки тураРисунок 31. Добавление ссылки на карточку тураТеперь запускаем сервер, переходим на карточку выбранного тура и проверяем результат.(См. Рис. 32)Рисунок 32. Внешний вид карточки тура6. Добавление новых пользователей и делегирование правТеперь необходимо создать условия для корректной работы сотрудников нашего турагенства. У разных категорий сотрудников должен быть разный уровень допуска. [11]6.1 Создание групп пользователей и делегирование им правТеперь, для корректной работы персонала турагенства нам необходимо через панель администрирования Djangoсоздать несколько групп пользователей, отвечающих за разные задачи и имеющие разный уровень допуска. В нашем случае такими группами будут: [11]Manager-Product – должен будет вести карточки туров, обновлять контент на сайте и следить за информациейManager-Seller – должен иметь право работать только с заказами.HR-Manager – может добавлять новых сотрудников и удалять старых, а так же редактировать информацию о них в базе данных.Для добавления групп пользователей необходимо перейти на вкладку Groupsпанели администрирования Djangoи добавить новую группу, после чего заполнить колонку необходимых уровней доступа.(См. Рис. 33)Рисунок 33. Добавление Manager-ProductМы создали группу пользователей Manager-Product, имеющих такие права как:Добавление новых туровИзменение существующих туровПросмотр туровДобавление новых странИзменение странПросмотр странДобавление городовРедактирование городовПросмотр городовДобавление новых отелейИзменение информации о отеляхПросмотр отелейДалее таким же образом создаем Manager-Seller, который будет иметь следующие права:(См. Рис. 34)Добавление заказаИзменение заказаУдаление заказаПросмотр заказаРисунок 34. Добавление Manager-SellerТеперь создаем группу HR-Manager, со следующими правами:(См. Рис. 35)Добавление пользователяИзменение данных пользователяУдаление пользователяПросмотр данных пользователяРисунок 35. Добавление HR-Manager6.2 Создание пользователей и добавление их в группыТеперь нам необходимо создать нескольких тестовых пользователей и затем добавить их в наши группы. Для этого перейдем на вкладку Usersна панели администрирования Djangoи создадим нового пользователя.(См. Рис. 36) [12]Рисунок 36. Создание нового пользователяДалее сохраним пользователя и приступим к редактированию его данных и добавлению пользователя в группу Manager-Seller. Очень важно установить галочку Staffstatusв активное положение, чтобы дать пользователю возможность заходить в свой аккаунт используя панель администрирования.(См. Рис. 37)Рисунок 37. Изменение параметров пользователяСохраним измененные данные и попробуем зайти в админку под логином и паролем этого пользователя.После входа за нашего пользователя мы видим только разрешенную для нас таблицу Ordersи можем взаимодействовать только с ней.(См. Рис. 38)Рисунок 38. Внешний вид панели администрирования для пользователяПо аналогичному принципу добавляем всех нужных нам пользователей, добавляя их в разные группы.7. ДальнейшееразвитиеВ дальнейшем базовый функционал нашего сайта можно расширять и улучшать, что позволяет сделать выбранный нами фреймворк.7.1 АутентификацияСейчас наш сайт позволяет пользователям просматривать информацию о турах и делать заказы без регистрации. Однако, для более удобной работы с сайтом и улучшения опыта пользователей, мы можем добавить страницы аутентификации. Это позволит пользователям сохранять свои данные, следить за состоянием заказов и получать персональные предложения. Также, мы можем добавить страницы аутентификации для менеджеров, которые будут иметь доступ к административным функциям, таким как управление заказами и добавление новой информации.7.2 Поиск туровМы также можем улучшить функциональность нашего сайта, добавив возможность поиска туров по странам, отелям или определенным параметрам. Например, можно реализовать поиск отелей, в которых можно отдыхать с детьми или домашними животными, или искать отели определенной ценовой категории.7.3 Система отзывов и оценокВ дальнейшем мы можем интегрировать на сайт нашей туристической фирмы возможность клиентов оставлять отзывы и оценивать тот или иной отель или тур. Это значительно поможет конечному пользователю с выбором места для отдыха.7.4 Галерея фотографийВ дальнейшем также можно модифицировать карточку тура таким образом, чтобы вместо одной фотографии была возможность загружать несколько и пролистывать их в качестве карусели. Это сделает сайт намного более информативным и привлекательным для клиентов.ЗаключениеВ заключении хотелось бы отметить, что данная курсовая работа помогла нам глубже понять процесс разработки веб-приложений на основе фреймворка Django. Мы изучили основные концепции и методы работы с Django, такие как создание моделей, маршрутизация URL, работа с формами, использование базы данных и другие.Была создана полнофункциональныйсайт туристической фирмы, с возможностью добавления, редактирования и удаления туров, отображения информации о турах и отелях, создания заказа и т.д. Мы убедились, что фреймворк Django предоставляет широкий функционал и позволяет разрабатывать мощные веб-приложения.Однако, наш сайт туристической фирмы может быть улучшен и дополнен дополнительными функциями, такими как добавление системы аутентификации для пользователей и менеджеров, реализация галереи фотографий, системы отзывов и.т.дВ целом, разработка данного сайта на фреймворке Django была интересной и полезной задачей для нашего изучения и понимания работы фреймворка.Список литературыDjangoURL: https://www.djangoproject.com (датаобращения 20.04.2023)Шесть Python-пакетов, которые рекомендуется использовать в каждом веб-приложении на DjangoURL: https://habr.com/ru/articles/514348/ (датаобращения 21.04.2023)Руководство по загрузке файлов (и изображений) в DjangoURL: https://django.fun/ru/articles/tutorials/rukovodstvo-po-zagruzke-fajlov-i-izobrazhenij-v-django/ (датаобращения 21.04.2023)Установка и настройка DjangoURL: https://metanit.com/python/django/1.2.php (датаобращения 21.04.2023)Руководство Django часть 4: административная панель DjangoURL: https://developer.mozilla.org/ru/docs/Learn/Server-side/Django/Admin_site (датаобращения 21.04.2023)Представления в Django – время создавать!URL: https://tutorial.djangogirls.org/ru/django_views/ (датаобращения 25.04.2023)Models. Django Documentation URL: https://docs.djangoproject.com/en/4.2/topics/db/models/(датаобращения25.04.2023)Настройка и подключение статических файлов в DjangoURL: https://pythonru.com/uroki/django-static (датаобращения25.04.2023)The Django template language. Django Documentation URL: https://docs.djangoproject.com/en/4.2/ref/templates/language/(датаобращения26.04.2023)Шаблоны Django — extends, include и так далее URL: https://dclimber.com/ru/posts/django-templates/ (датаобращения26.04.2023)Разграничение прав доступа на Django сайте URL: https://900913.ru/2021/02/05/groups-and-permissions-on-django-website/(датаобращения28.04.2023)Руководство Django Часть 8: Аутентификация и авторизация пользователя URL: https://developer.mozilla.org/ru/docs/Learn/Server-side/Django/Authentication(датаобращения28.04.2023)

1. Django URL: https://www.djangoproject.com (дата обращения 20.04.2023)
2. Шесть Python-пакетов, которые рекомендуется использовать в каждом веб-приложении на Django URL: https://habr.com/ru/articles/514348/ (дата обращения 21.04.2023)
3. Руководство по загрузке файлов (и изображений) в Django URL: https://django.fun/ru/articles/tutorials/rukovodstvo-po-zagruzke-fajlov-i-izobrazhenij-v-django/ (дата обращения 21.04.2023)
4. Установка и настройка Django URL: https://metanit.com/python/django/1.2.php (дата обращения 21.04.2023)
5. Руководство Django часть 4: административная панель Django URL: https://developer.mozilla.org/ru/docs/Learn/Server-side/Django/Admin_site (дата обращения 21.04.2023)
6. Представления в Django – время создавать! URL: https://tutorial.djangogirls.org/ru/django_views/ (дата обращения 25.04.2023)
7. Models. Django Documentation URL: https://docs.djangoproject.com/en/4.2/topics/db/models/ (дата обращения 25.04.2023)
8. Настройка и подключение статических файлов в Django URL: https://pythonru.com/uroki/django-static (дата обращения 25.04.2023)
9. The Django template language. Django Documentation URL: https://docs.djangoproject.com/en/4.2/ref/templates/language/ (дата обращения 26.04.2023)
10. Шаблоны Django — extends, include и так далее URL: https://dclimber.com/ru/posts/django-templates/ (дата обращения 26.04.2023)
11. Разграничение прав доступа на Django сайте URL: https://900913.ru/2021/02/05/groups-and-permissions-on-django-website/ (дата обращения 28.04.2023)
12. Руководство Django Часть 8: Аутентификация и авторизация пользователя URL: https://developer.mozilla.org/ru/docs/Learn/Server-side/Django/Authentication (дата обращения 28.04.2023)