当 DEBUG=False 时,静态文件不做任何事情。您需要使用 apache 提供这些文件。Staticfiles 能够将文件收集到一个位置以方便您,然后您使用一些 apache 魔法(假设这里因为您没有指定)让 apache 拦截这些请求并为您提供静态文件。
Alias /robots.txt /home/username/Python/project/site_media/static/robots.txt
Alias /favicon.ico /home/username/Python/project/site_media/static/favicon.ico
Alias /static/ /home/username/Python/project/site_media/static/
我不记得将这些文件从开发站复制到部署点是 buildstatic、build_static、collectstatic 还是 collect_static,但是这些变量控制着 staticfiles 如何发挥它的魔力
# Absolute path to the directory that holds static files like app media.
# Example: "/home/media/media.lawrence.com/apps/"
STATIC_ROOT = os.path.join(PROJECT_ROOT, "site_media", "static")
# URL that handles the static files like app media.
# Example: "http://media.lawrence.com"
STATIC_URL = "/static/"
# Additional directories which hold static files
STATICFILES_DIRS = [
os.path.join(PROJECT_ROOT, "static"),
os.path.join(PROJECT_ROOT, "media"),
]
这假设您的静态文件位于项目的静态文件夹中,并且您希望从site_media文件夹中提供它们。