1

Тема: wsgi

Устанавливаем Apache 2
$ sudo apt-get install -y apache2

Устанавливаем mod_wsgi для Python 3 (связка Apache 2 - Python 3)
$ sudo apt-get install -y libapache2-mod-wsgi-py3

Устанавливаем PIP для Python 3 (менеджер пакетов)
$ sudo apt-get install -y python3-pip

Устанавливаем Django
$ sudo pip3 install django

Создаем проект Django

Создаем проект
$ mkdir -p /home/user/site.ru/
$ mkdir -p /home/user/site.ru/static/
$ mkdir -p /home/user/site.ru/media/
$ mkdir -p /home/user/site.ru/logs/
$ cd /home/user/site.ru/
$ django-admin.py startproject project



Настраиваем Apache

$ sudo nano /etc/apache2/sites-available/000-default.conf



В нем пишем

<VirtualHost *:80>
     ServerAdmin admin@site.ru
     ServerName site.ru
     ServerAlias www.site.ru
     ErrorLog /home/user/site.ru/logs/error.log
     CustomLog /home/user/site.ru/logs/access.log combined
     Alias /robots.txt /home/user/site.ru/static/robots.txt
     Alias /favicon.ico /home/user/user.ru/static/favicon.ico
     AliasMatch ^/([^/]*\.css) /home/user/site.ru/static/styles/$1
     Alias /media/ /home/user/site.ru/media/
     Alias /static/ /home/user/site.ru/static/
     <Directory /home/user/site.ru/static>
          Require all granted
     </Directory>
     <Directory /home/user/site.ru/media>
          Require all granted
     </Directory>
     WSGIScriptAlias / /home/user/site.ru/project/project/wsgi.py
     <Directory /home/user/site.ru/project/project>
         <Files wsgi.py>
             Require all granted
         </Files>
     </Directory>
</VirtualHost>



Редактируем wsgi-файл проекта

import os
import sys
sys.path.append('/home/user/site.ru/project/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()



Перезагружаем Apache
$ sudo service apache2 reload

Соответственно site.ru и user меняете на свои.

UPD: Сейчас не вспомню: скорее всего для первого запуска потребуется создать суперпользователя Django.

$ cd /home/user/site.ru/project
$ python3 manage.py createsuperuser
$ python3 manage.py migrate

Ну как то так....

2

Re: wsgi

Источник https://tutorial.djangogirls.org/ru/django_admin/
Администрирование Django

Чтобы добавлять, редактировать и удалять записи, для которых мы только сделали модель, нам потребуется использовать права администратора в Django.

Давай откроем файл blog/admin.py и заменим его содержимое на:

from django.contrib import admin
from .models import Post

admin.site.register(Post)

Как ты можешь заметить, мы импортировали (включили) модель Post, которая была определена в предыдущей главе. Чтобы наша модель стала доступна на странице администрирования, нам нужно зарегистрировать её при помощи admin.site.register(Post).

Хорошо, теперь нам нужно взглянуть на модель Post. Не забудь запустить веб-сервер командой python manage.py runserver. Перейди в браузер и набери адрес http://127.0.0.1:8000/admin/ Ты увидишь страницу авторизации:

Ну как то так....

3

Re: wsgi

Ну вообще то получше будет


https://habrahabr.ru/post/303900/

Ну как то так....