Django 5.0:配置本地开发和生产环境?

问题描述 投票:0回答:1

这个问题以各种形式被问过几次。 然而,关于这个主题的大多数答案都有十年或更久的历史了。 我的《Two Scoops》书是针对 Django 3.x 的。 我认为更新与 Django 5.0 相关的答案和今天可用的托管选项可能会很有用。

这是我回顾过的许多较旧的讨论之一:

Django:如何管理开发和生产设置?

我对以下场景特别感兴趣:

  • 使用 PyCharm 在 Windows 上进行本地开发
  • 从一开始就使用 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

过去,我一直直言不讳地批评著名的 Django 5 分钟安装缺乏可用性(从许多角度来看)。 这就是为什么有数十个(如果不是数百个)多页文章和视频解释如何部署 Django,甚至还有一些非常有趣的模因。

从 3.x 开始我就没有接触过 Django。 这就是我发布这个问题的原因。 今天推荐的设置是什么?

python django heroku render pythonanywhere
1个回答
0
投票

我是这样做的,

  1. 在核心应用程序中创建一个 settings 目录,添加一个 _ init_.py 文件
  2. 将旧的 settings.py 移至 /settings/base.py,将基本配置保留在那里,例如 INSTALLED_APPS、MIDDLEWARE、TEMPLATES,然后创建 development.pyheroku.pydocker_local .py,定义数据库、静态和媒体等设置。导入 .base 并根据需要修改设置

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 *

© www.soinside.com 2019 - 2024. All rights reserved.