1. Руководство
1 октября 2016 г. 11:54
1.1. Введение
Это руководство предназначено для людей, которые только столкнулись с django SHOP, но уже знакомы с django. Если нет, то рекомендуется прочитать замечательную документацию по Django (https://docs.djangoproject.com/en/1.10/intro/tutorial01/)
Описанные шаги нужно выполнять в порядке следования.
1.2. Подготовка к инсталляции
Для запуска описываемых в руководстве примеров, тебе нужно инсталлировать django-shop из GitHub, так как установка через pip даёт только сам фреймворк без демо проекта. Прежде чем продолжить, убедитесь, что у вас установлен virtualenv в вашей системе, иначе Python папка site-packages будет замусорена множествами установленных зависимостей.
Также убедитесь, что ниже перечисленные пакеты установлены в вашей системе:
- Python 2.7 или 3.4 и выше
- Redis: http://redis.io/
- SQLite: https://www.sqlite.org/
- Node Package Manager: https://www.npmjs.com/
Замечание: замените requirements/common.txt на requirements/py2.txt ниже, если вы хотите использовать Python 2. Мы рекомендуем использовать Python 3.
$ virtualenv shoptutorial $ source shoptutorial/bin/activate $ mkdir Tutorial; cd Tutorial (shoptutorial)$ git clone --depth 1 https://github.com/awesto/django-shop (shoptutorial)$ cd django-shop (shoptutorial)$ pip install -r requirements/common.txt (shoptutorial)$ pip install --no-deps -e . (shoptutorial)$ pip install Django==1.9.10 (shoptutorial)$ npm install
Эти команды установят окружение и запустят один из демо-магазинов из коробки.
Если вы хотите заполнить базу данных своими собственными категориями, продуктами и страницами, действуйте, как описано ниже. Иначе, если вы не терпеливы, вы можете быстро запустить демо, используя подготовленные CMS страницы, продукты и медиа файлы.
1.2.1. Создание базы для демо-проекта
В заключении мы должны создать базу данных для запуска нашего примера:
(shoptutorial)$ cd example (shoptutorial)$ export DJANGO_SHOP_TUTORIAL=commodity (shoptutorial)$ ./manage.py migrate (shoptutorial)$ ./manage.py createsuperuser Email address: admin@example.org Username: admin Password: Password (again): Superuser created successfully. (shoptutorial)$ ./manage.py runserver
И наконец, откройте http://localhost:8000/ и войдите как суперпользователь, которого вы только что создали.
1.3. Добавление страниц в CMS
В djangoSHOP, каждая страница может быть отрендерена CMS-кой. Поэтому, если вам не требуется специальная целевая страница, вы можете начать со списка продуктов (Catalog’s List View). Перейдите в административной части в раздел:
Start > django CMS > Pages
и добавьте страницу. В качестве заголовка выберите “Карты памяти”. Затем перейдите в "Расширенные настройки" внизу страницы и в открывшимся окне в поле Приложения (Application) выберите Список продуктов (Products List). Затем сохраните и щёлкните Посмотреть на сайте (View on site).
Теперь переключитесь в режим Структура (Structure mode) и найдите заполнитель Основное содержимое (Main Content). Добавьте плагин Строка (Row) из секции Bootstrap. Внутрь Строка (Row) разместите Колонка (Column) с шириной в 12 пунктов. В заключении, внутрь колонки (Column) добавьте плагин Каталог (Catalog List View) из секции Shop.
Сейчас мы имеем рабочий каталог, но так как мы пока не добавили никаких продуктов в базу данных, поэтому мы не видим никаких товаров на странице.
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 25
17.11.2017 19:36 #
У меня произошла ImportError при запуске manage.py с любыми параметрами . Не подскажите, сто делать?
Ответить
18.11.2017 4:26 #
Андрей, покажите, пожалуйста, полный трейсбек ошибки. Так сложно сказать в чём дело.
Ответить
18.11.2017 7:48 #
Ответить
18.11.2017 8:03 #
Убедитесь, что приложение email_auth у вас находится в корне приложения, так как email_auth не устанавливается из requirements.tx t
Вот его по сути можно отсюда скачать как есть: https://github.com/awesto/django-shop/tree/master/email_auth
Ответить
18.11.2017 9:14 #
Оно установлено в Tutorial/django-shop
Ответить
18.11.2017 9:35 #
Оно не то чтобы установлено туда. Точнее сказать оно просто добавлено. Всё по инструкции делали по пункту 1.2? Если да, то, возможно, что-то с установко й Проверьте английскую версию установки тестового магазина http://django-shop.readthedocs.io/en/latest/tutorial/intro.html, может что-то поменялось, я давно не тестировал и, если результатов не будет, то лучше напишите тикет: https://github.com/awesto/django-shop/issues
Ответить
18.11.2017 9:54 #
Делал все по инструкции
Ответить
18.11.2017 10:05 #
В английской версии тоже самое
Ответить
19.11.2017 11:37 #
Ошибку с email_auth я исправи л но появилась новая ошибк а
Ответить
20.11.2017 0:34 #
Возможно, это такая же ошибка, как и с email_auth. Как удалось её решить ? Проверьте добавлен ли shop_stripe в INSTALLED_APPS, также проверьте есть ли shop_stripe в requirements.txt. Если да, то тут нужно структуру проекта смотреть, чтобы понять почему ошибка импорта возникает
Ответить
04.03.2018 9:05 #
Тоже стокнулся с такой ошибкой. лечится так.
pip install https://github.com/awesto/djangoshop-stripe/archive/releases/0.11.x.zip
Ответить
20.11.2017 7:39 #
в requirements/common.txt его не т Вы это имели ввиду?
Ответить
22.11.2017 9:41 #
В requirements/common.txt должна быть строчка djangoshop-stripe. Если она есть и пакет этот устанавливается, то нужно структуру проекта смотреть. Так сложно что-то сказать.
Ответить
22.11.2017 13:50 #
Данной строчки там не т Что дописать?
Ответить
23.11.2017 5:36 #
Да, верно, там этой строчки нет. Оказывается её выпилили из requirements: https://github.com/awesto/django-shop/commit/403a8faa9c5a36482a456aaa9906b56d2474e40 6
Да, можно дописать или вообще stripe не использовать.
Ответить
23.11.2017 6:34 #
Дописал нужную строчк у Создал суперюзер а Запустил серве р Но при входе на сайт : На сайте ошибка 50 0 А в командной строк е
Ответить
23.11.2017 15:21 #
Эта ошибка говорит о том, что скрипт
node_modules/picturefill/dist/picturefill.min.js
не найден. Убедитесь, что у вас настроен путь доnode_modules
в settings.py :Ответить
23.11.2017 17:43 #
снова ошибк а name 'ROOT_DIR' is not defined
Ответить
23.11.2017 18:16 #
Да, точно, вот чему равен
ROOT_DIR = os.path.dirname(__file__)
Ответить
23.11.2017 19:32 #
Снова при входе на сайт возникает 500 ошибк а А в командной строке написано :
Ответить
24.11.2017 4:16 #
Значит нужно разбираться уже на месте в чём дело, так с ходу уже, видимо, не смогу помочь. Убедитесь, что у вас есть эта папка node_modules в корне проекта. Она должна появиться после выполнения команды : (shoptutorial)$ npm instal l Если она есть, но по-прежнему не работает и вы уже несколько дней сидите за этой ошибкой, то, возможно, вам стоит обратиться к специалисту, который досконально просмотрит весь ваш код и сам попробует запустить его. Вообще, ошибки типа импортов не так сложны, может вам стоит получше разобраться, как происходит импорт статики у разных библиотек. Где-то закралась ошибка у вас среди библиотек: http://django-compressor.readthedocs.io/en/latest/, https://github.com/jrief/django-sass-processor. Изучите, как происходит там импорт. Попробуйте на отдельном тестовом проекте (без django-shop) поиграться с этими библиотеками.
Ответить
25.11.2017 7:12 #
папка есть, но она пуста я Так и должно быт ь На сайте с проектом я такой папки вообще не нашел
Ответить
29.11.2017 0:43 #
Да, верно, на сайте с проектом её и не будет, потому что она добавляется командой
npm install
, которая как раз устанавливает библиотеки, описанные в файле package.jsonОтветить
25.11.2017 7:29 #
При установке np m Выкидывает вот это : npm WARN enoent ENOENT: no such file or directory, open '/home/user/mag/Tutorial/django-shop/package.json ' npm WARN django-shop No descriptio n npm WARN django-shop No repository field . npm WARN django-shop No README dat a npm WARN django-shop No license field.
Ответить
29.11.2017 0:41 #
Посмотрите, как происходит сборка пакетов node_modules, как работает npm . Вот ссылка, где можно это почитать: http://prgssr.ru/development/vvedenie-v-paketnyj-menedzher-npm-dlya-nachinayushih.html
Ответить