10

我有两个目录。static 包含 javascript 和 css 文件。在我写的设置中STATIC_URL = '/static/',它们被正确包含。

但我也有包含很多图像的文件夹图像。我的问题是如何使文件夹图像也静态,因为我无法复制到静态中。

谢谢你。

4

3 回答 3

16

看起来STATICFILES_DIRS可以采用多条路径:

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
    '/var/www/static/',
)
于 2013-08-26T15:04:48.427 回答
8

我想添加一个名为 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
于 2018-03-06T21:28:29.597 回答
2

如果您希望两个不同的 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/'
于 2016-04-11T00:35:47.553 回答