Разработка интернет-магазина с применением Django
Выбор языка программирования и фреймворка. Определение структуры проекта Django и архитектуры сервера. Выгрузка товаров на сайт, характеристика внешней структуры сайта. Вид древовидной структуры в админ-панели, функция добавления товара в корзину.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 04.07.2018 |
Размер файла | 6,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
if type_add == "delete":
del_product_from_checkout(request)
return get_info_after_delete(request)
# Получаем товар и его количество #
product, count = get_product_and_count(request)
# переводим ид товара в строковый формат
prd_id = str(product.id)
# если в сессии нет продуктов, то создаем словарь и записываем в него пару "ид_товара:количество"
if not request.session.get("products", False):
request.session['products'] = {}
if type_add == "add":
request.session['products'][prd_id] = count
else:
# если продукт этот есть в сессии
if request.session['products'].get(prd_id, False):
# запоминаем старое количество товара
old_count = request.session['products'][prd_id]
# если тип добавление, то прибавляем к старому количеству один товар, если установление количества, то заменяем
if type_add == "add":
request.session['products'][prd_id] += count
if type_add == "set":
request.session['products'][prd_id] = count
# проверяем количество товара на складе и в корзине
if product.product_exist():
if request.session['products'][prd_id] > product.get_count():
request.session['products'][prd_id] = old_count
return utils.JsonResponse.response(error = 2, message = "Доступное количество товаров " + str(product.get_count()))
else:
# аналогично
if product.product_exist():
if count > product.get_count():
return utils.JsonResponse.response(error = 2, message = "Доступное количество товаров " + str(product.get_count()))
if type_add == "add":
request.session['products'][prd_id] = count
else:
return utils.JsonResponse.response(error = 2, message = "Товара нет в наличии")
def get_product_and_count(request):
# Извлекаем товар, если такого товара нет выдаем 404
try:
product = Product.objects.get(active = True, id = request.POST['id'])
except:
raise Http404
#Получаем количество из запроса, если его нет или оно некорректно, то ставим 1
count = 1
try:
count = int(request.POST['count'])
if count <= 0:
count = 1
except:
count = 1
return product, count
Обработчик запроса после онлайн-оплаты (check_payment_card):
def check_payment_card(request):
# получаем из параметров запроса ид заказа в системе сбербанка
payment_id = request.GET.get('orderId', False)
# если ид отсутствует возвращаем страницу 404
if not payment_id:
raise Http404
else:
# проверяем оплачен заказ или нет
status_order = jb_sber.get_status_order(payment_id)
# если оплачен, то устанаваем на сайте статус "оплачен"
if status_order:
try:
order = Order.objects.get(dops__uniq_id = "sberorderid", dops__value = payment_id)
order.pay = True
order.save()
except:
raise Http404
# перенаправляем на главную
return HttpResponseRedirect("/")
def get_status_order(id_order):
DO = "getOrderStatus.do"
# параметры запроса
data = {'userName':SBER_IDSHOP, 'password':SBER_API_KEY, 'orderId':id_order}
# посылаем запрос, ответ преобразуем в словарь и записываем в переменную
# SBER_AREA - адрес, хранящийся в файле настроек
response_data = json.loads(requests.post(SBER_AREA + "rest/" + DO, data = data).text)
# если ответ пришел и статус равен 2(оплачен), возвращаем True
if response_data.get('OrderStatus', False) and response_data['OrderStatus'] == 2:
return True
return False
Приложение 3
Примеры файлов импорта из 1С
Файл imports, формируемый 1с:
<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация xmlns="urn:1C.ru:commerceml_2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ВерсияСхемы="2.07" ДатаФормирования="2018-02-26T11:51:25">
<Классификатор>
<Ид>56823728-9105-4b42-bff3-516d85e3cc9a</Ид>
<Наименование>Классификатор (Каталог товаров 56823728)</Наименование>
<Владелец>
<Ид>50f039b8-6dd7-11e6-8664-1c6f65448e97</Ид>
<Наименование>Любов А. Н. ИП</Наименование>
<ПолноеНаименование>Любов А. Н. ИП</ПолноеНаименование>
<ИНН>290117380212</ИНН>
</Владелец>
<Группы>
<Группа>
<Ид>3f5fb241-cb4b-11e6-8279-b88687a752af</Ид>
<Наименование>Термобелье</Наименование>
</Группа>
</Группы>
<Свойства>
<Свойство>
<Ид>4322176c-ed3b-11e7-6c80-309c231ed832</Ид>
<Наименование>Вес, кг</Наименование>
<ТипЗначений>Справочник</ТипЗначений>
<ВариантыЗначений>
<Справочник>
<ИдЗначения>d658bd8c-faca-11e7-6c80-309c231ed832</ИдЗначения>
<Значение>0.6</Значение>
</Справочник>
<Справочник>
<ИдЗначения>7a24f858-ed43-11e7-6c80-309c231ed832</ИдЗначения>
<Значение>0.9</Значение>
</Справочник>
</ВариантыЗначений>
</Свойство>
</Свойства>
</Классификатор>
<Каталог СодержитТолькоИзменения="false">
<Ид>56823728-9105-4b42-bff3-516d85e3cc9a</Ид>
<ИдКлассификатора>56823728-9105-4b42-bff3-516d85e3cc9a</ИдКлассификатора>
<Наименование>Каталог товаров 56823728</Наименование>
<Владелец>
<Ид>50f039b8-6dd7-11e6-8664-1c6f65448e97</Ид>
<Наименование>Любов А. Н. ИП</Наименование>
<ПолноеНаименование>Любов А. Н. ИП</ПолноеНаименование>
<ИНН>290117380212</ИНН>
</Владелец>
<Товары>
<Товар>
<Ид>e43e3663-3ecb-11e7-829c-b88687a752af</Ид>
<Штрихкод>4743131003538</Штрихкод>
<Артикул>TRT-005.04</Артикул>
<Наименование>Комплект термобелья "Lair-2"</Наименование>
<БазоваяЕдиница Код="796 " НаименованиеПолное="Штука" МеждународноеСокращение="PCE">
<Пересчет>
<Единица>796</Единица>
<Коэффициент>1</Коэффициент>
</Пересчет>
</БазоваяЕдиница>
<Группы>
<Ид>3f5fb241-cb4b-11e6-8279-b88687a752af</Ид>
</Группы>
<Описание/>
<Изготовитель>
<Ид>182d59d2-ead8-11e7-6c80-309c231ed832</Ид>
<Наименование>Tramp</Наименование>
</Изготовитель>
<ЗначенияСвойств>
<ЗначенияСвойства>
<Ид>4322176c-ed3b-11e7-6c80-309c231ed832</Ид>
<Значение>a2390238-ed54-11e7-6c80-309c231ed832</Значение>
</ЗначенияСвойства>
</ЗначенияСвойств>
<СтавкиНалогов>
<СтавкаНалога>
<Наименование>НДС</Наименование>
<Ставка>Без НДС</Ставка>
</СтавкаНалога>
</СтавкиНалогов>
</Товар>
</Товары>
</Каталог>
</КоммерческаяИнформация>
Файл offers:
<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация xmlns="urn:1C.ru:commerceml_2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ВерсияСхемы="2.07" ДатаФормирования="2018-02-27T17:52:45">
<Классификатор>
<Ид>56823728-9105-4b42-bff3-516d85e3cc9a</Ид>
<Наименование>Классификатор (Каталог товаров 56823728)</Наименование>
<Владелец>
<Ид>50f039b8-6dd7-11e6-8664-1c6f65448e97</Ид>
<Наименование>Любов А. Н. ИП</Наименование>
<ПолноеНаименование>Любов А. Н. ИП</ПолноеНаименование>
<ИНН>290117380212</ИНН>
</Владелец>
</Классификатор>
<ПакетПредложений СодержитТолькоИзменения="false">
<Ид>56823728-9105-4b42-bff3-516d85e3cc9a#</Ид>
<Наименование>Пакет предложений ( Каталог товаров 56823728 )</Наименование>
<ИдКаталога>56823728-9105-4b42-bff3-516d85e3cc9a</ИдКаталога>
<ИдКлассификатора>56823728-9105-4b42-bff3-516d85e3cc9a</ИдКлассификатора>
<Владелец>
<Ид>50f039b8-6dd7-11e6-8664-1c6f65448e97</Ид>
<Наименование>Любов А. Н. ИП</Наименование>
<ПолноеНаименование>Любов А. Н. ИП</ПолноеНаименование>
<ИНН>290117380212</ИНН>
</Владелец>
<ТипыЦен>
<ТипЦены>
<Ид>04abdb26-1bb2-11e8-8f88-309c231ed832</Ид>
<Наименование>сайт</Наименование>
<Валюта>RUB</Валюта>
<Налог>
<Наименование>НДС</Наименование>
<УчтеноВСумме>true</УчтеноВСумме>
<Акциз>false</Акциз>
</Налог>
</ТипЦены>
</ТипыЦен>
<Склады>
<Склад>
<Ид>dde9391f-abd0-11e6-8267-b88687a752af</Ид>
<Наименование>Нагорная 2</Наименование>
</Склад>
</Склады>
<Предложения>
<Предложение>
<Ид>1f09ed58-e94b-11e7-6c80-309c231ed832#578c5288-ff7b-11e7-6c80-309c231ed832</Ид>
<Артикул>NM 18 E2 1</Артикул>
<Наименование>Лодочный мотор NS Marine NM 18 E2 1 (038641AF)</Наименование>
<БазоваяЕдиница Код="796 " НаименованиеПолное="Штука" МеждународноеСокращение="PCE">
<Пересчет>
<Единица>796</Единица>
<Коэффициент>1</Коэффициент>
</Пересчет>
</БазоваяЕдиница>
<Цены>
<Цена>
<Представление> 109 900 RUB за PCE</Представление>
<ИдТипаЦены>04abdb26-1bb2-11e8-8f88-309c231ed832</ИдТипаЦены>
<ЦенаЗаЕдиницу>109900</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>PCE</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
</Цены>
<Количество>1</Количество>
<Склад ИдСклада="dde9391f-abd0-11e6-8267-b88687a752af" КоличествоНаСкладе="1"/>
</Предложение>
</Предложения>
</ПакетПредложений>
</КоммерческаяИнформация>
Размещено на Allbest.ru
...Подобные документы
Анализ сравнения интернет-магазина и электронного магазина. Проектирование структуры web-сайта. Обработка заказа. Основное понятие языка php. Средства безопасности системного уровня приложения. Разработка структуры базы данных и структуры web-сайта.
курсовая работа [1,4 M], добавлен 31.03.2014CRM-системы: разновидности, проблемы реализации, их преимущества и недостатки. Критические характеристики CRM-систем для работы через Интернет (WEB-CRM). Разработка содержания и структуры WEB-сайта интренет-магазина "Vinil", создание схемы и базы данных.
курсовая работа [2,6 M], добавлен 19.05.2013Компоненты приложения Vue.js, использование шаблона MVVM. Характеристика Webpack и фреймворка NuxtJs. Python как язык программирования, модель MVC, компоненты и инструментарий фреймворка Django. Технология программирования Object Relational Mapping.
контрольная работа [296,4 K], добавлен 22.03.2017Django — свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Архитектура и основные компоненты приложения. Главные компоненты среды разработки Django. Некоторые возможности и взаимосвязь компонентов фреймворка.
реферат [23,7 K], добавлен 18.01.2015Создание интернет-магазина, направленного на продажу веселящего газа. Реализация возможности добавления выбранного товара в корзину, отправки заказа. Описание разделов сайта. Программа и методика испытаний. Проверка работоспособности интернет-магазина.
курсовая работа [3,3 M], добавлен 14.12.2013Преимущества и недостатки электронной коммерции. Описание локального сервера Denwer. Структура файлов и папок. Особенности PHP, MySQL, CSS, HTML. Разработка структуры сайта интернет-магазина по продажи гитар и комплектующих, его программная реализация.
курсовая работа [5,0 M], добавлен 25.10.2014Значение и обзор современных средств веб-программирования на основе языков четвертого поколения. Технологические особенности разработки структуры сайта Интернет-магазина средств связи. Способы форматирования контента, систем навигации и дизайна сайта.
контрольная работа [3,2 M], добавлен 15.02.2011Вопросы реализации шаблона типового сайта диссертационного совета СевКавГТУ. Разработка базы данных для шаблона сайта с помощью фреймворка Django и Aptana Studio 3. Обоснование требований к техническому обеспечению. Расчет цены программного продукта.
дипломная работа [2,5 M], добавлен 26.09.2012Технология разработки веб–ориентированных систем. Выбор языка программирования, фреймворка и СУБД. Создание сайта в виде текстового форума с функцией оповещения о важных новостях по почте. Выбор хостинга, доменного имени и размещение его в Интернет.
курсовая работа [1,9 M], добавлен 10.11.2015Обоснование выбора языка программирования для создания интернет магазина. Построение виртуальных страниц. Определение затрат на создание Web-сайта. Расчет трудоемкости создания программного продукта. Использование HTML как языка разметки гипертекста.
дипломная работа [1,2 M], добавлен 28.05.2016Use case-диаграмма. Оценка трудоёмкости и сроков разработки проекта с использованием языка Python по методикам CETIN И COCOMO-II. Проектирование информационной системы. Разработка приложения с использованием Django: создание шаблонов, моделей и пр.
дипломная работа [1,3 M], добавлен 10.07.2017Понятие интернет-магазина, его виды и особенности организации. Создание графического контента для наполнения сайта-каталога, его логической и физической структуры. Понятие, объекты и происхождение авторского права, его регистрация и средства защиты.
дипломная работа [2,2 M], добавлен 22.08.2015Написание сайта с помощью выбранного языка программирования с минимальной интерактивностью. Изучение дополнительных аспектов языка гипертекстовой разметки HTML. Моделирование информационной структуры. Разработка структуры данных, центральный фрейм.
курсовая работа [1,0 M], добавлен 02.06.2015Создание сайта для кондитерского цеха ООО "Лана": разработка информационного наполнения и дизайнерского оформления интернет-страниц, проведение поисковой оптимизации web-структуры, выбор наиболее действенных методов привлечения целевой аудитории на сайт.
курсовая работа [2,3 M], добавлен 19.07.2011Проектирование книжного интернет-магазина для реализации книжной продукции через Интернет. Анализ и обоснование выбора языков программирования и средств разработки сайта. Затраты внедрение сайта, его программное обеспечение, тестирование и отладка.
дипломная работа [2,1 M], добавлен 06.06.2013Разработка электронного представительства "Магазина цветов Флориэль" с размещением в сети Интернет. Раскрытие функциональных возможностей веб-сервера по настройке содержания сайта через управление контентом и обеспечение обратной связи с пользователями.
курсовая работа [2,1 M], добавлен 21.10.2014Разработка структуры сайта и автоматизация процесса заказа и покупки товара посредством сети интернет. Проектирование базы данных, подключенной к сайту. Создание инфологической модели, форм входных и выходных документов, графа диалога, экранных форм.
дипломная работа [1,9 M], добавлен 06.07.2015Определение назначения системы и обозначение целей создания Web-приложения интернет-магазина по продаже компьютерной техники. Описание страниц сайта и логической структуры приложения. Тестирование, применение приложения и затраты на его разработку.
дипломная работа [2,6 M], добавлен 10.06.2014Определение назначения и функций Web-сайта типографии. Характеристика целевой аудитории. Выбор средств разработки и элементов структуры сайта, описание его содержания и анимационных компонентов. Организация доступа к данным, порядок тестирования проекта.
курсовая работа [2,2 M], добавлен 13.01.2013Характеристика деятельности, структуры и функций агентства. Анализ текущей структуры сайта заказа наружной рекламы. Описание функциональной архитектуры и архитектуры данных проектируемого автоматизированного модуля. Проектирование интерфейса пользователя.
дипломная работа [2,0 M], добавлен 22.07.2015