Шаблон для Django проекта.
Version 1.0
app/
Приложениями проекта
config/
Настройка проекта.
requirements/
Описание окружения проекта
utils/
- Создание БД
CREATE DATABASE django_blank_db;
CREATE USER django_blank_user WITH password 'PASSWORD';
GRANT ALL ON DATABASE django_blank_db TO django_blank_user;
- Дамп БД
pg_dump -d django_blank_db -f file_dump
- Загрузить дамп в БД (БД необходимо перед этим создать)
psql -d django_blank_db -f file_dump
coverage run --source='.' --omit 'env/*' manage.py test
- Установить PyEnv
https://github.com/pyenv/pyenv-installer
- Export:
export PATH="/path.to.user/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
- Установить нужную версию Python
pyenv install 3.7.1
- Создать виртуальное окружение с нужно версией Python:
virtualenv -p ~/.pyenv/versions/3.7.1/bin/python3 name_env
Для разных версий python разные версии mod_wsgi. Чтобы обновить спокойно mod_wsgi под конкретную версию python нужно установить python с помощью pyenv с shared_libs:
CONFIGURE_OPTS=--enable-shared pyenv install 3.7.1
где 3.7.1 - нужная версия python
После того как установили python в pyenv нужно создать virtualenv:
virtualenv -p ~/.pyenv/versions/3.7.1/bin/python3 name_env
затем включаем это окружение и устанавливаем mod_wsgi:
pip install mod_wsgi
затем нужно настроить apache2:
https://pypi.org/project/mod_wsgi/
Раздел: Connecting into Apache installation
Пример содежимого файла mod_wsgi для Apache2
LoadModule wsgi_module /home/bva/env_apache2_wsgi/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so
WSGIPythonHome /home/bva/env_apache2_wsgi
После чего нужно только настроить apache2