Django 5.0: Настройка локальных сред разработки и производства?

Этот вопрос, в разных формах, задавался несколько раз. Однако большинству ответов на эту тему десять и более лет. Книги Two Scoops, которые у меня есть, предназначены для Django 3.x. Я думаю, что было бы полезно, возможно, иметь обновленные ответы, относящиеся к Django 5.0 и вариантам хостинга, доступным сегодня.

Вот одна из многих старых дискуссий, которые я просмотрел:

Django: Как управлять настройками разработки и производства?

Меня особенно интересует следующий сценарий:

  • Локальная разработка под Windows с помощью PyCharm
  • Использование PostgreSQL с самого начала (а не SQLite)
  • Развертывание на Heroku, Render или PythonAnywhere

У меня есть свои предпочтения, когда речь заходит о таких вещах, как структура каталогов для локального окружения. Стандартная схема для созданного на Django приложения с именем "mypicturesite" такова:

mypicturesite/
    code/
        mypicturesite/
            __init__.py
            settings.py
            urls.py
            wsgi.py
        <directories for other apps in the site>
        manage.py
        db.sqlite3
    venv/
            <various work directories>/

В итоге вы получаете пути, которые выглядят следующим образом:

z:/mypicturesite/code/mypicturesite

Мой подход выглядит следующим образом:

mypicturesite/
    code/                # The entire codebase, including virtual environment
        site/            # This now makes sense; this contains the site code
            __config/    # These are the site configuration scripts
                __init__.py
                settings.py
                urls.py
                wsgi.py
            <directories for other apps in the site>
            manage.py
            db.sqlite3
        venv/
    <various work directories>/

Что дает:

z:/mypicturesite/code/site

В прошлом я очень громко заявлял о недостаточной практичности (со многих точек зрения) знаменитой 5-минутной установки Django. Именно поэтому существуют десятки, если не сотни, многостраничных статей и видео, объясняющих, как развернуть Django, и даже несколько очень забавных мемов.

Я не прикасался к Django с версии 3.x. Именно поэтому я размещаю этот вопрос. Какова рекомендуемая установка на сегодняшний день?

Вот как я это сделал,

  1. Создайте каталог settings в вашем основном приложении, добавьте _ init_.py файл
  2. .
  3. Переместите ваш старый settings.py в /settings/base.py, сохраните там базовую конфигурацию, такие вещи, как INSTALLED_APPS, MIDDLEWARE, TEMPLATES, затем создайте development. py, heroku.py, docker_local.py, чтобы определить такие настройки, как DATABASES, STATIC и MEDIA, и т.д. Импортируйте .base и измените настройки, если необходимо
  4. .

MIDDLEWARE.append('whitenoise.middleware.WhiteNoiseMiddleware') INSTALLED_APPS.append('debug_toolbar')

  1. Ваш init.py будет выглядеть просто:

# from .development import * from .docker_local import * # from .production import * # from .heroku import *

Вернуться на верх