Django быстрый старт
Установка
sudo apt install pip
pip install Django
python -m pip install --upgrade pip setuptools
python -m pip install django
Создаем проект
Запускаем встроенный web-сервер
Смотрим по ссылке: http://localhost:8000
Вход в админку
Создадим суперпользователя:
Входим в админку по ссылке http://127.0.0.1:8000/admin
Теперь откажемся от встроенного web-сервера (ctrl+c) в пользу apache.
sudo apt-get install python-pip apache2 libapache2-mod-wsgi
#или - для python3
sudo apt-get install python3-pip apache2 libapache2-mod-wsgi-py3
sudo pip install virtualenv
cd ~/roror
virtualenv rororenv
Before we install our project's Python requirements, we need to activate the virtual environment. You can do that by typing:
source rororenv/bin/activate
pip install django
Статический контент
Добавим обработку статического содержимого в файле roror/settings.py:
Перестраиваем проект:
Создаем конфигурацию сайта проекта /etc/apache2/sites-available/roror.ru.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot nigma/data/proj/django/roror
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /static /nigma/data/proj/django/roror/static
<Directory /nigma/data/proj/django/roror/static>
Require all granted
</Directory>
<Directory /nigma/data/proj/django/roror/roror>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess roror python-path=/nigma/data/proj/django/roror python-home=/nigma/data/proj/django/roror/rororenv
WSGIProcessGroup roror
WSGIScriptAlias / //nigma/data/proj/django/roror/roror/wsgi.py
</VirtualHost>
Поправляем права на базу:
Теперь надо добавить доступные хосты в файле /nigma/data/proj/django/roror/roror/settings.py
СУБД
Добавить СУБД PostgreSQL:
Правим файл roror/settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'roror',
'USER': 'roror_usr',
'PASSWORD': 'mysecretpass',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
Создаем БД, пользователя и назначаем права.
psql
CREATE DATABASE roror;
CREATE USER roror_usr WITH password 'mysecterpass';
GRANT ALL ON DATABASE roror TO roror_usr;
ALTER DATABASE roror OWNER TO roror_usr;
Меняем локальную авторизацию на нашу базу по паролю.
В файле /var/lib/postgresql/9.5/main/pg_hba.conf
Ставим модуль PIP для поддержки СУБД:
sudo apt install postgresql-server-dev-9.5
sudo pip install psycopg2
sudo pip install psycopg2-binary
Создаем структуру таблиц на основе модели: