Закрыть

Для эффективной работы на сайте используются cookie и обработка персональных данных. Пользуясь этим сайтом, вы соглашаетесь с правилами использования сайта. Подробнее

Цитата дня

Vivazzi.ru

Личный сайт Мальцева Артема

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

Мухаммед Али

1. Руководство

1 октября 2016 г. 7: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.

Сейчас мы имеем рабочий каталог, но так как мы пока не добавили никаких продуктов в базу данных, поэтому мы не видим никаких товаров на странице.

Оцените статью

5 из 5 (всего 1 оценка)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

Автор перевода

Права на использование данной статьи, расположенной на настоящей странице http://vivazzi.ru/django-shop/tutorial/:

Разрешается копировать статью с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="http://vivazzi.ru/django-shop/tutorial/">http://vivazzi.ru/django-shop/tutorial/</a>

Подробнее: Правила использования сайта

Вам нужно саморазвиваться или вы хотите зарабатывать деньги?

Или вы ищите хорошие IT сервисы или книги? Сохраните свое время и взгляните на мою подборку рекомендаций, которыми постоянно пользуюсь.
Посмотреть рекомендации

Комментариев: 25

Андрей Баранов
Андрей Баранов

17.11.2017 14:36 #

У меня произошла ImportError при запуске manage.py с любыми параметрами.
Не подскажите, сто делать?

Ответить

Артём Мальцев
Артём Мальцев автор

17.11.2017 23:26 #

Андрей, покажите, пожалуйста, полный трейсбек ошибки. Так сложно сказать в чём дело.

Ответить

Андрей Баранов
Андрей Баранов

18.11.2017 2:48 #

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 327, in execute
    django.setup()
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named email_auth

Ответить

Артём Мальцев
Артём Мальцев автор

18.11.2017 3:03 #

Убедитесь, что приложение email_auth у вас находится в корне приложения, так как email_auth не устанавливается из requirements.txt

Вот его по сути можно отсюда скачать как есть: https://github.com/awesto/django-shop/tree/master/email_auth

Ответить

Андрей Баранов
Андрей Баранов

18.11.2017 4:14 #

Оно установлено в Tutorial/django-shop

Ответить

Артём Мальцев
Артём Мальцев автор

18.11.2017 4:35 #

Оно не то чтобы установлено туда. Точнее сказать оно просто добавлено. Всё по инструкции делали по пункту 1.2? Если да, то, возможно, что-то с установкой
Проверьте английскую версию установки тестового магазина http://django-shop.readthedocs.io/en/latest/tutorial/intro.html, может что-то поменялось, я давно не тестировал и, если результатов не будет, то лучше напишите тикет: https://github.com/awesto/django-shop/issues

Ответить

Андрей Баранов
Андрей Баранов

18.11.2017 4:54 #

Делал все по инструкции

Ответить

Андрей Баранов
Андрей Баранов

18.11.2017 5:05 #

В английской версии тоже самое

Ответить

Андрей Баранов
Андрей Баранов

19.11.2017 6:37 #

Ошибку с email_auth я исправил
но появилась новая ошибка

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 327, in execute
    django.setup()
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named shop_stripe

Ответить

Артём Мальцев
Артём Мальцев автор

19.11.2017 19:34 #

Возможно, это такая же ошибка, как и с email_auth. Как удалось её решить?
Проверьте добавлен ли shop_stripe в INSTALLED_APPS, также проверьте есть ли shop_stripe в requirements.txt. Если да, то тут нужно структуру проекта смотреть, чтобы понять почему ошибка импорта возникает

Ответить

Нариман
Нариман

04.03.2018 4:05 #

Тоже стокнулся с такой ошибкой. лечится так.
pip install https://github.com/awesto/djangoshop-stripe/archive/releases/0.11.x.zip

Ответить

Андрей Баранов
Андрей Баранов

20.11.2017 2:39 #

в requirements/common.txt его нет
Вы это имели ввиду?

Ответить

Артём Мальцев
Артём Мальцев автор

22.11.2017 4:41 #

В requirements/common.txt должна быть строчка djangoshop-stripe. Если она есть и пакет этот устанавливается, то нужно структуру проекта смотреть. Так сложно что-то сказать.

Ответить

Андрей Баранов
Андрей Баранов

22.11.2017 8:50 #

Данной строчки там нет
Что дописать?

Ответить

Артём Мальцев
Артём Мальцев автор

23.11.2017 0:36 #

Да, верно, там этой строчки нет. Оказывается её выпилили из requirements: https://github.com/awesto/django-shop/commit/403a8faa9c5a36482a456aaa9906b56d2474e406

Да, можно дописать или вообще stripe не использовать.

Ответить

Андрей Баранов
Андрей Баранов

23.11.2017 1:34 #

Дописал нужную строчку
Создал суперюзера
Запустил сервер
Но при входе на сайт:
На сайте ошибка 500
А в командной строке

[2017-11-23 07:31:17,914 base] WARNING: Not Found: /
[2017-11-23 07:31:18,108 base] ERROR: Internal Server Error: /
Traceback (most recent call last):
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 92, in get_exception_response
    response = callback(request, **dict(param_dict, exception=exception))
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/views/defaults.py", line 40, in page_not_found
    body = template.render(context, request)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/backends/django.py", line 95, in render
    return self.template.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 206, in render
    return self._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 173, in render
    return compiled_parent._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 173, in render
    return compiled_parent._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 173, in render
    return compiled_parent._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/classytags/core.py", line 153, in render
    return self.render_tag(context, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py", line 93, in render_tag
    rendered_contents = nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/classytags/core.py", line 153, in render
    return self.render_tag(context, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/cms/templatetags/cms_tags.py", line 499, in render_tag
    rendered_contents = nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/classytags/core.py", line 153, in render
    return self.render_tag(context, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py", line 98, in render_tag
    data = func(context, data, name)
  File "/home/user/magazin/Tutorial/django-shop/shop/sekizai_processors.py", line 61, in compress
    compressable_node.render(context=context),
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/templatetags/compress.py", line 131, in render
    return self.render_compressed(context, self.kind, self.mode, forced=forced)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/templatetags/compress.py", line 103, in render_compressed
    cache_key, cache_content = self.render_cached(compressor, kind, mode)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/templatetags/compress.py", line 82, in render_cached
    cache_key = get_templatetag_cachekey(compressor, mode, kind)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/cache.py", line 97, in get_templatetag_cachekey
    "templatetag.%s.%s.%s" % (compressor.cachekey, mode, kind))
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/base.py", line 177, in cachekey
    [self.content] + self.mtimes).encode(self.charset), 12)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/base.py", line 171, in mtimes
    for kind, value, basename, elem in self.split_contents()
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/js.py", line 19, in split_contents
    filename = self.get_filename(basename)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/base.py", line 139, in get_filename
    self.finders and " or with staticfiles." or "."))
UncompressableFileError: 'node_modules/picturefill/dist/picturefill.min.js' could not be found in the COMPRESS_ROOT '/home/user/magazin/Tutorial/django-shop/workdir/static' or with staticfiles.

Ответить

Артём Мальцев
Артём Мальцев автор

23.11.2017 10:21 #

Эта ошибка говорит о том, что скрипт node_modules/picturefill/dist/picturefill.min.js не найден. Убедитесь, что у вас настроен путь до node_modules в settings.py:

STATICFILES_DIRS = (
    os.path.join(ROOT_DIR, 'static'),
    ('node_modules', os.path.join(ROOT_DIR, 'node_modules')),
)

NODE_MODULES_URL = STATIC_URL + 'node_modules/'

SASS_PROCESSOR_INCLUDE_DIRS = (
    os.path.join(ROOT_DIR, 'node_modules'),
    os.path.join(ROOT_DIR, 'static/template/css'),
)

Ответить

Андрей Баранов
Андрей Баранов

23.11.2017 12:43 #

снова ошибка
name 'ROOT_DIR' is not defined

Ответить

Артём Мальцев
Артём Мальцев автор

23.11.2017 13:16 #

Да, точно, вот чему равен ROOT_DIR = os.path.dirname(__file__)

ROOT_DIR = os.path.dirname(__file__)

STATICFILES_DIRS = (
    os.path.join(ROOT_DIR, 'static'),
    ('node_modules', os.path.join(ROOT_DIR, 'node_modules')),
)

NODE_MODULES_URL = STATIC_URL + 'node_modules/'

SASS_PROCESSOR_INCLUDE_DIRS = (
    os.path.join(ROOT_DIR, 'node_modules'),
    os.path.join(ROOT_DIR, 'static/template/css'),
)

Ответить

Андрей
Андрей

23.11.2017 14:32 #

Снова при входе на сайт возникает 500 ошибка
А в командной строке написано:

[2017-11-23 20:29:36,514 base] WARNING: Not Found: /favicon.ico/
[2017-11-23 20:29:36,582 base] WARNING: Not Found: /favicon.ico/
[2017-11-23 20:29:37,237 base] ERROR: Internal Server Error: /favicon.ico/
Traceback (most recent call last):
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 92, in get_exception_response
    response = callback(request, **dict(param_dict, exception=exception))
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/views/defaults.py", line 40, in page_not_found
    body = template.render(context, request)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/backends/django.py", line 95, in render
    return self.template.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 206, in render
    return self._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 173, in render
    return compiled_parent._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 173, in render
    return compiled_parent._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 173, in render
    return compiled_parent._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/classytags/core.py", line 153, in render
    return self.render_tag(context, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py", line 93, in render_tag
    rendered_contents = nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/classytags/core.py", line 153, in render
    return self.render_tag(context, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/cms/templatetags/cms_tags.py", line 499, in render_tag
    rendered_contents = nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/classytags/core.py", line 153, in render
    return self.render_tag(context, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py", line 98, in render_tag
    data = func(context, data, name)
  File "/home/user/magazin/Tutorial/django-shop/shop/sekizai_processors.py", line 61, in compress
    compressable_node.render(context=context),
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/templatetags/compress.py", line 131, in render
    return self.render_compressed(context, self.kind, self.mode, forced=forced)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/templatetags/compress.py", line 103, in render_compressed
    cache_key, cache_content = self.render_cached(compressor, kind, mode)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/templatetags/compress.py", line 82, in render_cached
    cache_key = get_templatetag_cachekey(compressor, mode, kind)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/cache.py", line 97, in get_templatetag_cachekey
    "templatetag.%s.%s.%s" % (compressor.cachekey, mode, kind))
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/base.py", line 177, in cachekey
    [self.content] + self.mtimes).encode(self.charset), 12)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/base.py", line 171, in mtimes
    for kind, value, basename, elem in self.split_contents()
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/js.py", line 19, in split_contents
    filename = self.get_filename(basename)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/base.py", line 139, in get_filename
    self.finders and " or with staticfiles." or "."))
UncompressableFileError: 'node_modules/picturefill/dist/picturefill.min.js' could not be found in the COMPRESS_ROOT '/home/user/magazin/Tutorial/django-shop/workdir/static' or with staticfiles.
[2017-11-23 20:29:37,239 base] ERROR: Internal Server Error: /favicon.ico/
Traceback (most recent call last):
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 92, in get_exception_response
    response = callback(request, **dict(param_dict, exception=exception))
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/views/defaults.py", line 40, in page_not_found
    body = template.render(context, request)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/backends/django.py", line 95, in render
    return self.template.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 206, in render
    return self._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 173, in render
    return compiled_parent._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 173, in render
    return compiled_parent._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 173, in render
    return compiled_parent._render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 197, in _render
    return self.nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/classytags/core.py", line 153, in render
    return self.render_tag(context, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py", line 93, in render_tag
    rendered_contents = nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/classytags/core.py", line 153, in render
    return self.render_tag(context, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/cms/templatetags/cms_tags.py", line 499, in render_tag
    rendered_contents = nodelist.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 992, in render
    bit = node.render_annotated(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/template/base.py", line 959, in render_annotated
    return self.render(context)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/classytags/core.py", line 153, in render
    return self.render_tag(context, **kwargs)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py", line 98, in render_tag
    data = func(context, data, name)
  File "/home/user/magazin/Tutorial/django-shop/shop/sekizai_processors.py", line 61, in compress
    compressable_node.render(context=context),
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/templatetags/compress.py", line 131, in render
    return self.render_compressed(context, self.kind, self.mode, forced=forced)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/templatetags/compress.py", line 103, in render_compressed
    cache_key, cache_content = self.render_cached(compressor, kind, mode)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/templatetags/compress.py", line 82, in render_cached
    cache_key = get_templatetag_cachekey(compressor, mode, kind)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/cache.py", line 97, in get_templatetag_cachekey
    "templatetag.%s.%s.%s" % (compressor.cachekey, mode, kind))
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/base.py", line 177, in cachekey
    [self.content] + self.mtimes).encode(self.charset), 12)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/base.py", line 171, in mtimes
    for kind, value, basename, elem in self.split_contents()
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/js.py", line 19, in split_contents
    filename = self.get_filename(basename)
  File "/home/user/magazin/shoptutorial/local/lib/python2.7/site-packages/compressor/base.py", line 139, in get_filename
    self.finders and " or with staticfiles." or "."))
UncompressableFileError: 'node_modules/picturefill/dist/picturefill.min.js' could not be found in the COMPRESS_ROOT '/home/user/magazin/Tutorial/django-shop/workdir/static' or with staticfiles.

Ответить

Артём Мальцев
Артём Мальцев автор

23.11.2017 23:16 #

Значит нужно разбираться уже на месте в чём дело, так с ходу уже, видимо, не смогу помочь. Убедитесь, что у вас есть эта папка node_modules в корне проекта. Она должна появиться после выполнения команды:
(shoptutorial)$ npm install
Если она есть, но по-прежнему не работает и вы уже несколько дней сидите за этой ошибкой, то, возможно, вам стоит обратиться к специалисту, который досконально просмотрит весь ваш код и сам попробует запустить его. Вообще, ошибки типа импортов не так сложны, может вам стоит получше разобраться, как происходит импорт статики у разных библиотек. Где-то закралась ошибка у вас среди библиотек: http://django-compressor.readthedocs.io/en/latest/, https://github.com/jrief/django-sass-processor. Изучите, как происходит там импорт. Попробуйте на отдельном тестовом проекте (без django-shop) поиграться с этими библиотеками.

Ответить

Андрей Баранов
Андрей Баранов

25.11.2017 2:12 #

папка есть, но она пустая
Так и должно быть
На сайте с проектом я такой папки вообще не нашел

Ответить

Артём Мальцев
Артём Мальцев автор

28.11.2017 19:43 #

Да, верно, на сайте с проектом её и не будет, потому что она добавляется командой npm install, которая как раз устанавливает библиотеки, описанные в файле package.json

Ответить

Андрей
Андрей

25.11.2017 2:29 #

При установке npm
Выкидывает вот это:
npm WARN enoent ENOENT: no such file or directory, open '/home/user/mag/Tutorial/django-shop/package.json'
npm WARN django-shop No description
npm WARN django-shop No repository field.
npm WARN django-shop No README data
npm WARN django-shop No license field.

Ответить

Артём Мальцев
Артём Мальцев автор

28.11.2017 19:41 #

Посмотрите, как происходит сборка пакетов node_modules, как работает npm.
Вот ссылка, где можно это почитать: http://prgssr.ru/development/vvedenie-v-paketnyj-menedzher-npm-dlya-nachinayushih.html

Ответить

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

Чтобы оставить комментарий от своего имени войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте