Django быстрый старт
Django быстрый старт
sudo apt install pip
pip install Django
python -m pip install --upgrade pip setuptools
python -m pip install django
Создаем проект
django-admin startproject roror
cd roror
python manage.py migrate
python manage.py createsuperuser
Запускаем встроенный web-сервер
python manage.py runserver 8000
Смотрим по ссылке: http://localhost:8000
Создадим суперпользователя
python manage.py createsuperuser
Вход в админку:
Теперь откажемся от встроенного 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
Добавим обработку статического содержимого
vi roror/settings.py
STATIC_ROOT = os.path.joinBASE\_DIR, "static/"
Перестраиваем проект
cd ~/roror
./manage.py makemigrations
./manage.py migrate
./manage.py collectstatic
Создаем конфигурацию сайта проекта /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>
Поправляем права на базу
chmod 664 ~/roror/db.sqlite3
sudo chown :www-data /nigma/data/proj/django/roror
Теперь надо добавить доступные хосты
vi /nigma/data/proj/django/roror/roror/settings.py
#ALLOWED_HOSTS = []
ALLOWED_HOSTS = ['127.0.0.1','172.27.117.97','roror.ru']
Добавить СУБД PostgreSQL
sudo apt install postgresql postgresql-contrib
vi 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;
Меняем локальную авторизацию на нашу базу по паролю.
vi /var/lib/postgresql/9.5/main/pg_hba.conf
#local all all peer
local roror roror_usr md5
Ставим модуль PIP для поддержки СУБД
sudo apt install postgresql-server-dev-9.5
sudo pip install psycopg2
sudo pip install psycopg2-binary
Создаем структуру таблиц на основе модели
./manage.py inspectdb
./manage.py showmigrations
./manage.py migrate
./manage.py migrate blog 0001
Ссылки: