这个问题以各种形式被问过几次。 然而,关于这个主题的大多数答案都有十年或更久的历史了。 我的《Two Scoops》书是针对 Django 3.x 的。 我认为更新与 Django 5.0 相关的答案和今天可用的托管选项可能会很有用。
这是我回顾过的许多较旧的讨论之一:
我对以下场景特别感兴趣:
对于本地环境的目录结构之类的事情,我有自己的偏好。 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。 这就是我发布这个问题的原因。 今天推荐的设置是什么?
我是这样做的,
MIDDLEWARE.append('whitenoise.middleware.WhiteNoiseMiddleware')
INSTALLED_APPS.append('debug_toolbar')
# from .development import *
from .docker_local import *
# from .production import *
# from .heroku import *