我有两个目录。static 包含 javascript 和 css 文件。在我写的设置中STATIC_URL = '/static/'
,它们被正确包含。
但我也有包含很多图像的文件夹图像。我的问题是如何使文件夹图像也静态,因为我无法复制到静态中。
谢谢你。
看起来STATICFILES_DIRS
可以采用多条路径:
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
)
我想添加一个名为 uploads 的静态目录。我先尝试了settings.py,但是没有用。但是,我设法通过将此行添加到文件 urls.py 中,将上传文件转换为辅助静态 URL:
url(r'^uploads/(?P<path>.*)$', static.serve, {'document_root': settings.BASE_DIR + "/uploads"}),
如果您在导入 static.serve 时遇到问题,则需要导入以下行:
from django.views import static
如果您希望两个不同的 url 是静态的,在我的情况下,我的 angular2 应用程序的开发和输出目录,这是我的解决方案,在您的 url.py 中:
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = [
# Examples:
url(r'^', include('website.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
if settings.DEBUG:
urlpatterns += static(settings.STATIC_DEBUG_URL, document_root=settings.STATIC_DEBUG_ROOT)
我有几个 settings.py 文件,然后我根据部署符号链接到我正在使用的那个。在我的 code.settings.py 中,它链接到 settings.py 以编写代码,我添加了:
STATIC_DEBUG_URL = '/app/'
STATIC_DEBUG_ROOT = 'xxx/website/app/'