在django中,我可以拥有多个静态应用实例吗?

时间:2012-05-17 16:33:00

标签: django web-services apache django-staticfiles

是否可能只有一个静态应用的实例?

我可能希望从不同的STATIC_URL服务器提供不同类型的资源:

  • 我想从/static/
  • 提供CSS / JavaScript
  • 我想从/documents/
  • 提供PDF文档

2 个答案:

答案 0 :(得分:3)

我认为你对contrib.staticfiles

的目的有点误解
  

在以前的Django版本中,放置静态资产很常见   在MEDIA_ROOT中以及用户上传的文件,并在以下位置为他们提供服务   MEDIA_URL。引入staticfiles应用程序的部分目的是   使静态文件更容易与用户上传分开   文件。

PDF文档可能是用户生成的,因此理想情况下它们不会与您的静态文件(css,js)并排存储,而是上传到MEDIA_ROOT

在制作中,你必须configure your web server来提供某些网址下的目录。

在开发过程中,您可以使用django.views.static.serve to serve different dirs with different url prefixes

答案 1 :(得分:1)

是的,这是可能的。

我正在使用urls.py

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^docs/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/hdblog/docs'}),
        (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/hdblog/static'}),
    )

您应该查看https://docs.djangoproject.com/en/dev/howto/static-files/?from=olddocshttps://docs.djangoproject.com/en/dev/howto/static-files/#serving-other-directories