Wagtail 2.14.2 Ошибка ModulNotFound после выполнения makemigrations

3-я попытка трясогузки

Я установил его после создания виртуальной среды с именем wag-env с помощью virtualenv в каталоге websites/wag/, а не в папке .virtualenv. Команда была "virtualenv wag-env".

Сделал pip install wagtail

Затем запускается трясогузка start ready_wag

Затем я запустил python3 manage.py makemigrations и получил сообщение об ошибке "ModuleNotFound error wagtail.models". Проверка в lib подтвердила, что на корневом уровне wagtail есть папка models, но нет models.py.

Это моя третья попытка со вчерашнего дня, первая была с mkvirtualenv, была та же проблема, вторая была с virtualenv, пытался интегрировать готовый проект django, и теперь пытаюсь начать проект с нуля.

Я запустил pip freeze --user, там глобально установлен wagtail. Должен ли я избавиться от него?

Заранее спасибо за ответы

Я всегда использовал venv для создания окружения, никогда не возникало проблем. Похоже, что у вас конфликтующие версии Django, чтобы соответствовать вашей версии Wagtail.

Вот мои старые заметки по изучению Wagtail, процесс, который я все еще обычно использую для каждого проекта:

  1. Создайте папку проекта, откройте в ней терминальную сессию
  2. В папке проекта создайте виртуальную среду (python -m venv .venv)
  3. Запустите виртуальную среду (.\.venv\Scripts\Activate.bat или source .venv/bin/activate)
  4. Установите Wagtail (pip install wagtail==3.0.3)<- установите версию по мере необходимости
  5. Начните новый проект в текущем каталоге (wagtail start project .)
  6. Установите требования трясогузки (pip install -r requirements.txt)
  7. При использовании POSTGRES следуйте инструкциям по настройке POSTGRES ДО миграции.
  8. Разместите базу данных (python manage.py migrate)
  9. Запустите сервер и проверьте сайт по умолчанию (python manage.py runserver)
  10. Создайте суперпользователя (python manage.py createsuperuser) и войдите в область администратора
  11. Перенесите настройки базы данных, разрешенные хосты и секретный ключ из base.py в новый файл local.py в той же папке. Также любые другие настройки, которые применяются только к локальной машине.
  12. Создайте git-репозиторий.

Установка бэкенда POSTGRES

Установив POSTGRES, в командной строке введите команду POSTGRES:

psql -U username
  • имя пользователя - это логин глобального администратора db, созданный во время установки

Введите следующие команды для добавления базы данных проекта и пользователя с полными правами на базу данных проекта:

CREATE DATABASE myproject;
CREATE USER myprojectuser WITH PASSWORD 'password';
ALTER ROLE myprojectuser SET client_encoding TO 'utf8';
ALTER ROLE myprojectuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE myprojectuser SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser;

Наберите \q, чтобы выйти из подсказки POSTGRES.

В вашей виртуальной среде установите psycopg2:

pip install psycopg2

Обратите внимание, вы можете получить предупреждение о необходимости установки из альтернативного источника:

pip install psycopg2-binary

Создайте пустую базу данных для проекта. Установите ее в проекте local.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'projectdb',
        'USER': 'myprojectuser',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Перейдите к шагу 8 выше.

Вернуться на верх