Выбор языка программирования и фреймворка. Определение структуры проекта Django и архитектуры сервера. Выгрузка товаров на сайт, характеристика внешней структуры сайта. Вид древовидной структуры в админ-панели, функция добавления товара в корзину.
Аннотация к работе
В данной работе описывается создание интернет-магазина с применением фреймворка Django. Целью работы является полнофункциональный сайт, осуществляющий продажу товаров для рыбалки и туризма.Электронная коммерция набирает все большую популярность и давно заняла одну из лидирующих позиций в формах ведения торговли. Многие компании помимо торговых точек занимаются еще и продажей товаров и услуг через интернет, так как это дает неплохой прирост покупателей за счет ряда факторов. django сайт товар сервер Интернет-магазин обладает рядом преимуществ по сравнению с торговой точкой: · Нет привязки к часам работы. В современном мире большинство людей пользуется интернетом, многие из которых потенциальные покупатели. Интернет-магазин подходит для размещения большого количества информации, с помощью программного обеспечения позволяет оперативно обновлять ассортимент, контролировать рабочие процессы, формировать отчетность.К нашему интернет-магазину предъявляются следующие требования: · Редактирование товаров из админ-панели Для сравнения были выбраны именно эти системы управления сайтом, так как на данный момент они являются наиболее популярными решениями. Wordpress достаточно простая и функциональная система, но для таких узких задач, как выгрузка позиций товаров из 1с и расчет доставки имеет только платные расширения [5]. Более 30% интернет-магазинов мира используют данный плагин, но в первую очередь данная система ориентирована на западный рынок, следовательно, встроена интеграция только с иностранными платежными системами и сервисами [14]. Имеется достаточно большое количество подключаемых модулей, но такие модули как выгрузка из 1с и расчет доставки являются платными, поэтому данная система нас не устраивает.После анализа существующих вариантов систем управления сайтом было принято решение разрабатывать сайт с помощью фреймворка, так как написание сайта с нуля слишком сложный и трудоемкий процесс.Основные языки, используемые в разработке серверной части веб-приложений: · PHP Ruby - объектно-ориентированный, динамический язык программирования, достаточно популярный на данный момент. Достаточно простой в изучении, обладает высокой скоростью разработки [13]. Python - высокоуровневый язык программирования, применение которого довольно широко, можно создавать приложений различных типов (веб-приложение, игры, работа с базами данных). По возможностям и темпам развития схож с Ruby, но имеет более обширную и подробную документацию, поэтому будем использовать данный язык.Python имеет две основных библиотеки для разработки веб-приложений: Flask и Django. Преимущества Django: · Быстрота: Django был разработан, чтобы помочь разработчикам создать приложение настолько быстро, на сколько это возможно. Это включает в себя формирование идеи, разработку и выпуск проекта, где Django экономит время и ресурсы на каждом из этих этапов. · Безопасность: При разработке проекта с помощью Django обеспечивает защиту от основных ошибок, которые связаны с безопасностью и ставят под угрозу работоспособность проекта. · Разносторонность: Django может применяться как менеджер контента, используется в научно-вычислительные платформах, даже крупные организации - со всем этим можно эффективно справляться при помощи Django.Веб-сервер может по запросу отдавать пользователям файлы из своей файловой системы, однако он не может напрямую работать с Django приложениями. Веб-серверу нужен интерфейс, который будет запускать Django приложение, передавать ему запрос от пользователя и возвращать ответ. Веб-сервером нам будет служить Nginx, он должен отдавать пользователям файлы из папок media и static, где хранятся статические материал, а все остальные запросы перенаправлять в Django приложение.Архитектура Django позволяет разбивать проект на отдельные приложения, что обеспечивает большую гибкость системы. Стандартная структура такого приложения включает в себя такие файлы как: admin.py - настройки вывода в админ-панель; models.py - хранит определение моделей, которые описывают используемые в приложении данные; urls.py - объявляются URL и перенаправление запроса в конкретное представление, views.py - определяет функции, которые получают запросы пользователей, обрабатывают их и возвращают ответ. Catalog - включает структуру каталога и скрипт выгрузки из 1сОбязательными полями выделены: название; слаг (короткое название, которое содержит только английские буквы, числа, подчеркивание или дефис) используются в URL, должен быть уникальным в пределах модели; активность (имеет два варианта значений: активна категория или нет, неактивные не отображаются на сайте, только в админ-панели, по умолчанию является активной); позиция (отвечает за порядок вывода в каталоге, от большего значения к меньшему); количество просмотров (формируется автоматически, по умолчанию присваивается значение 0).