You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Дмитрий 871cafcaa8 Исправить ALLOWED_HOSTS и CSRF_TRUSTED_ORIGINS 3 years ago
blog Исправить ALLOWED_HOSTS и CSRF_TRUSTED_ORIGINS 3 years ago
.gitignore Добавить в .gitignore папки с медиа и .env файл окружения 3 years ago
readme.org Обновление документации 3 years ago
req.txt Вернуть зависимость psycopg2 для postgres 3 years ago

readme.org

Проект блога на Django

Как это работает

Демка доступна по адресу: django.foxyparadoxy.xyz

Все запущенно на debian сервере. За проксирование отвечает Nginx (за ssl серты - certbot).

Postgres база поднята как docker-контейнер. За это отвечает systemd сервис.

[Unit]
Description=Service for running Postgres docker container for django
After=docker.service

[Service]
ExecStart=/usr/bin/docker run -it --rm --mount \
        source=postgres-data,target=/var/lib/postgresql/data \
        --name postgres-dj \
        -p 5432:5432 \
        -e POSTGRES_PASSWORD=5207503265 \
        -d postgres
Restart=always

[Install]
WantedBy=multi-user.target

Сам же django запускается через gunicorn. Обертка прописана в bash скрипт.

  export PGSERVICEFILE="/home/www/django/pg_service.conf"
  . /home/www/django/venv/bin/activate
  exec gunicorn  -c "/home/www/django/blog/gunicorn_config.py" blog.wsgi

За работой gunicorn следит еще один systemd сервис:

  [Unit]
  Description=Service for running django site with gunicorn. Depends of Postgres service.
  After=docker.service
  Wants=docker.postgres.service

  [Service]
  ExecStart=/home/www/django/bin/start_gunicorn.sh
  Restart=always

  [Install]
  WantedBy=multi-user.target

Оба systemd сервиса добавлены в автозагрузку.

Фичи

Комментарии с псевдорегистрацией

При комменте можно ввести "секрет" - строку, хэш которой сохранится в базе. После этого ник комментатора будет выделен зеленым цветом - он становится подтвержденным. Таким образом пользователи сохраняющие (от комментария к комментарию) пару "ник:секрет" могут считаться подтвержденными.

Таким образом сайт можно размещать, например, в i2p сети, не нарушая анонимности комментаторов требованием регистрации.