以下是配置您的 django 应用以提供静态文件以供 本地 开发的步骤。
STATIC_ROOT 默认为无,因此您必须在设置中指定。确保您的 settings.py 中有类似的内容,这会告诉您的网络服务器在哪里可以找到并提供映射到 url 的静态文件。
import os
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
其次还要指定您的 STATIC_URL 变量,因为它也默认为无。以下应该足够了。这将用于设置 urlpattern。
STATIC_URL = '/static/'
您需要有一个 url 模式,以便您的服务器知道哪个 url 对应于静态文件
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
在设置中指定 STATICFILES_DIRS 变量。这样收集静态管理器就知道在哪里可以找到静态并将它们放在 STATIC_ROOT 中。这可以是指向不同目录的项目数组或元组。如果您没有其他目录,则可以为空
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'pathtohomejsdirectory/'),)
最后,确保你运行python manage.py collectstatic
这会将 STATICFILES_DIRS 中指定的所有文件复制到 /static/ (STATIC_ROOT) 目录以由 django 提供服务。
在生产中,您希望您的网络服务器/反向代理使用 nginx 或 apache 来提供文件。请参阅此处 django 文档here