Файл: Разработка сайта горнодобывающей компании «Гранит».pdf

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

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

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

Добавлен: 25.05.2023

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

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

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

Введение

Интернет стал, наиболее эффективным средством рекламы и продвижения и является одним из важных элементов современной цивилизации. Интернет может удовлетворить все потребности современного человека: это покупки, заключение деловых отношений, поиск клиентов и так далее. Но многие заходят в Интернет читать, развлекаться, общаться, узнавать что-то новое для себя. Поэтому создание сайтов стало таким популярным.

В данной работе будет создан сайт горнодобываютщей компании “Гранит”, на котором посетители смогут видеть возможные варианты вкладов и кредитов, осуществлять переводы сумм другим лицам, а также получать справочную информацию о компании, такую как адреса отделений и контактные телефоны линии поддержки. Для выполнения поставленных работы необходимо:

- разработать страницы сайта на основе 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», «main_pictures», «main_news»

рис. 1

Рис. 1 Взаимосвязь базы данных с сайтом.

В БД SQLite сохраняются данные пользователей. При регистрации они нужны для в хода в систему пользователей. Каждый новый пользовать добавляется с новой строки. В таб. 1 краткое пояснение.

Таблица 1

Сохранения данных пользователей в базу данных

Наименования

Расшифровка

Разрешения символов

Username

Логин (имя пользователя)

Все символы

Password

Пароль логина

Все символы

Email

Электронный почтовый адрес

Email@mail.com

First Name

Имя пользователя

Все буквы

Last Name

Фамилия пользователя

Все буквы

В отдельной панели администратора администратор контролирует контент, имеет право изменять данные пользователей, удалять пользователей, в то время как для обычного пользователя все эти возможности недоступны.

Описание структуры клиентской части.

Описание интерфейса «Обычный пользователь».

Для посетителей сайта есть доступ на сайт с осмотром информации рис. 2.

Рис. 2 Главная страница сайта

Для посетителей есть возможность восстановить пароль (рис. 3). Если уже зарегистрированы, то можно войти на сайт (рис. 4). В разделе «Контактная информация» можно узнать контактный телефон, а также расположение нашего офиса (рис. 5).

Рис. 3 Восстановление пароля пользователя.


Рис. 4 Вход пользователей.

Рис. 5 Контактная информация.

Описание интерфейса «Администратор».

Для администратора есть отдельная панель (рис. 6) где администратор может изменить записи на странице (рис. 7), а после сохранить изменения тем самым изменив их на сайте.

Рис. 6 Панель «Администратор»

Рис.7 Форма редактирования «Панель администратора»

Инструкция пользователя.

Для посетителей сайта можно использовать меню для поиска нужной информации:

«Главная» -главная страница информации;

«Вклады и кредиты» -каталог доступных вариантов вкладов и кредитов;

«Акции» -информации о новых и предстоящих акциях;

«Контактная информация» - информация о нашей компании;

«Вход» - вход для пользователей.

«Регистрация» - регистрация новых пользователей.

Заключение

При написании данного курсового проекта были проанализированы существующие языки и редакторы создания сайта, рассмотрены источники по теме работы, разработан сайт по теме «горнодобывающей компании «Гранит»», а также разработано руководство пользователя. Разработанный сайт предоставляет пользователю возможности найти информацию о вкладах, кредитах, акциях. Таким образом, цель работы достигнута, поставленные задачи выполнены.

. Оценивая проделанную работу, можно сделать следующие выводы:

  • сайт предоставляет пользователям наиболее нужную ему информацию, а именно возможность ознакомиться с услугами компании
  • реализована навигация с помощью меню по страницам сайта;

Для реализации сайта были использованы следующие средства:

  • язык разметки гипертекста html и css;
  • язык программирования python;
  • Django фреймворк;

Список использованной литературы