基于 Django1.10 文档的深入学习(29)——Built-in Views 之 static.serve()

Built-in Views内置视图

Django的几个内置视图在文档视图以及文档中的其他地方都有记录。


Serving files in development在开发中提供文件

static.serve(request, path, document_root, show_indexes=False)

除了项目的静态资产之外,可能还有其他文件,为方便起见,您希望Django为您提供本地开发服务。serve()视图可以用于为您提供的任何目录。 (此视图未被强化以供生产使用,应仅用作开发帮助;您应使用真正的前端Web服务器在生产中提供这些文件)。

最有可能的例子是MEDIA_ROOT中用户上传的内容。 django.contrib.staticfiles旨在用于静态资源,并且没有用户上传的文件的内置处理,但您可以通过在URLconf中附加这样的内容来使Django为您的MEDIA_ROOT提供服务:

from django.conf import settings
from django.views.static import serve

# ... the rest of your URLconf goes here ...

if settings.DEBUG:
    urlpatterns += [
        url(r'^media/(?P<path>.*)$', serve, {
            'document_root': settings.MEDIA_ROOT,
        }),
    ]

请注意,代码段假设您的MEDIA_URL的值为“/ media /”。 这将调用serve()视图,从URLconf和(必需)document_root参数传入路径。

由于定义此URL模式可能会变得有点麻烦,因此Django附带了一个小的URL助手函数static(),它将参数作为参数,如MEDIA_URL和虚线路径,如“django.views.static”。 服务’。 任何其他函数参数将被透明地传递给视图。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值