DevAce был разработан для разработчиков и ИТ -специалистов. Это инструмент, который поможет вам быстро и легко получить свой собственный блог и портфолио онлайн.
Демо/пример: rburkhardt.com
Дом

О

Blogpost с изображением (новая версия имеет систему комментариев)

Blogpost без изображения (новая версия имеет систему комментариев)

Страница контакта (новая версия имеет Captchas)

Административная панель

Администратор - о конфигурации

Самый быстрый и самый простой способ протестирования Dev-case на местном уровне :
git clone [email protected]:rob32/dev-case.git
cd dev-case
docker-compose up -d --build
docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py createsuperuser
Важный :
Создайте новый файл .ENV с помощью следующего контента (до того, как docker-compose up -d --build ):
DEBUG=True
DATABASE_URL=psql://postgres:postgres@db:5432/postgres
Перейдите по адресу http://127.0.0.1:8000/ и проверьте, работали ли все.
Среда разработки с Python (Venv) и узлом (необязательно).
Протестировано с помощью GNU/Linux & Mac:
git clone [email protected]:rob32/dev-case.git
cd dev-case
python3 -m venv venv && source venv/bin/activate
pip install -r requirements-dev.txt
python3 manage.py migrate
pre-commit install
Создайте файл .env, по крайней мере, со следующим контентом:
DEBUG=True
# only if postgres is used, uncomend the next line (example):
# DATABASE_URL=psql://postgres:postgres@db:5432/postgres
Запустите разработку с python3 manage.py runserver
Перейти на http://127.0.0.1:8000/
# Install dependecies with:
npm install
# Build "Fronted" manually (uses `rm -rf` for cleaning):
npm run build
Необязательно: запустите Backend-Server и Esbuild в режиме для наблюдения одновременно с npm start .
# Unit/Integration Tests:
python3 manage.py test
# Code Quality with the help of pre-commit
pre-commit run -a -v
Выбор возможных настроек с помощью переменных среды:
SECRET_KEY=insecure-secretkey12345
DEBUG=FALSE
ALLOWED_HOSTS=my-domain-name.com
DATABASE_URL=psql://postgres:postgres@db:5432/postgres
ADMIN_LOCATION=dev-case/
ROBOTS_DISALLOW=/contact/,/private-file.html`
FEED_TITLE="My Feed Title"
FEED_DESCRIPTION="My feed description"
USE_UMAMI_ANALYTICS=True
UMAMI_SCRIPT_URL=https://your-umami-app.com/umami.js
UMAMI_DATA_WEBSITE_ID=2323-3232-2323-3232
Пари
Для развертывания/производства в настоящее время есть два филиала:
Для платформы приложений DigitaloCean вы можете использовать кнопку «Развертывание на DigitaloCean» ниже. Пожалуйста, убедитесь, что у вас есть рабочее пространство/ведро S3 с необходимыми учетными данными. Руководство: Как создать Digitalocean Space и API -ключ
После завершения процесса сборки:
Получите доступ к консоли вашего приложения через вкладку консоли и запустите следующие команды:
python3 manage.py migrate для первоначальных миграций базы данныхpython3 manage.py createsuperuser для создания административного пользователяВ качестве последнего шага сделайте следующую регулировку в вашем пространстве:
Ваше пространство -> Настройки -> CORS Configurations (добавить):
*ondigitalocean.app*example.comЭто должно решить проблему с помощью шрифтов (отсутствующий заголовок, контроль Access-Control-Origin)
Возможные настройки для производства (через переменные среды):
SECURE_SSL_REDIRECT=True
SECURE_HSTS_SECONDS=2592000
SECURE_HSTS_INCLUDE_SUBDOMAINS=True
SECURE_HSTS_PRELOAD=True
SESSION_COOKIE_SECURE=True
CSRF_COOKIE_SECURE=True
Убедитесь, что USE_S3_STORAGE установлен на True .
Возможные настройки для совместимости S3 (через переменные среды):
USE_S3_STORAGE (default=False)
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_STORAGE_BUCKET_NAME
AWS_S3_REGION_NAME
AWS_S3_ENDPOINT_URL
AWS_S3_CUSTOM_DOMAIN
AWS_LOCATION
AWS_IS_GZIPPED (default=False)
AWS_S3_FILE_OVERWRITE (default=True)
AWS_DEFAULT_ACL (default=public-read)
Вы можете изменить местоположение для области администратора, используя переменную среды ADMIN_LOCATION . По умолчанию admin/ .
Измените имя домена и отображение имени через Admin-Panel (приложение Sites) на ваше фактическое доменное имя. По умолчанию установлено значение «example.com».
Чтобы добавить правила запрета , используйте переменную среды ROBOTS_DISALLOW . Для действительной записи Sitemap измените свое доменное имя, как описано в sitemap.xml.
Пример: ROBOTS_DISALLOW=/contact/,/private-file.html
Для получения уведомлений вы можете настроить следующие настройки с помощью переменных среды:
USE_EMAIL_SMTP (default=False)
EMAIL_NOTIFICATION (default=False)
EMAIL_RECIPIENT (receiver address)
EMAIL_HOST
EMAIL_HOST_USER
EMAIL_HOST_PASSWORD
EMAIL_USE_TLS (default=True)
EMAIL_USE_SSL (default=False)
EMAIL_PORT (default=587)
DEFAULT_FROM_EMAIL
Убедитесь, что USE_EMAIL_SMTP и EMAIL_NOTIFICATION установлены на True .
Переменная DEFAULT_FROM_EMAIL должна иметь допустимое значение (пример: [email protected]).
Это уведомит вас, когда появятся новые комментарии или когда вы получите сообщение через страницу контакта.
Если вы также хотите, чтобы вас уведомляли в случае ошибок сервера, установите переменную среды DJANGO_ADMINS с вашим именем и адресом электронной почты. Пример:
DJANGO_ADMINS=YourName:[email protected]
# or more
DJANGO_ADMINS=NameOne:[email protected],NameTwo:[email protected]
Убедитесь, что переменная среды USE_UMAMI_ANALYTICS установлена на True .
Кроме того, создайте переменную среды UMAMI_SCRIPT_URL и UMAMI_DATA_WEBSITE_ID с соответствующими значениями.
Пример:
USE_UMAMI_ANALYTICS=True
UMAMI_SCRIPT_URL=https://your-umami-app.com/umami.js
UMAMI_DATA_WEBSITE_ID=2323-3232-2323-3232
Убедитесь, что переменная среды USE_PLAUSIBLE_ANALYTICS установлена на True .
Кроме того, создайте переменную среды PLAUSIBLE_SCRIPT_URL и PLAUSIBLE_DATA_DOMAIN с соответствующими значениями.
Пример:
USE_PLAUSIBLE_ANALYTICS=True
PLAUSIBLE_SCRIPT_URL=https://plausible.io/js/script.js
PLAUSIBLE_DATA_DOMAIN=example.com
Взносы, обратная связь и функциональные запросы всегда приветствуются. Чтобы узнать больше, см. Руководство для участника
Большое спасибо следующим великим проектам:
Проект доступен по лицензии GNU GPLV3.
Если вам нравится проект, пожалуйста, дайте ему звезду