您的位置:首页 > 产品设计 > UI/UE

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

2017-05-01 21:28 615 查看

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”
。 服务’。 任何其他函数参数将被透明地传递给视图。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐