基于 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”。 服务’。 任何其他函数参数将被透明地传递给视图。
相关文章推荐
- 基于 Django1.10 文档的深入学习(27)—— django.conf.urls utility functions 之 url(),include(),static()
- 基于 Django1.10 文档的深入学习(28)—— Managing static files(e.g. images, JavaScript, CSS)
- 基于 Django1.10 文档的深入学习(2)—— Settings.py 之 STATIC_*
- 基于 Django1.10 文档的深入学习(18)—— Using the Django authentication system 之 LoginRequiredMixin
- 基于 Django1.10 文档的深入学习(14)—— Request and response objects 之 HttpResponse objects
- 基于 Django1.10 文档的深入学习(26)—— Creating forms from models 之 基础
- 基于 Django1.10 文档的深入学习(6)—— Translation 之 short_description
- 基于 Django1.10 文档的深入学习(12)—— django.shortcuts 之 redirect()
- 基于 Django1.10 文档的深入学习(25)—— Applications 之 基础部分
- 基于 Django1.10 文档的深入学习(8)—— Model field reference 之 choices
- 基于 Django1.10 文档的深入学习(17)——Customizing authentication 之 Custom users and permissions
- 基于 Django1.10 文档的深入学习(20)—— Using the Django authentication system 之 login()
- 基于 Django1.10 文档的深入学习(4)—— models.py 之 class Meta
- 基于 Django1.10 文档的深入学习(13)—— django.core.urlresolvers 之 reverse()
- 基于 Django1.10 文档的深入学习(23)—— QuerySet API reference 之 icontains
- 基于 Django1.10 文档的深入学习(11)—— django.shortcuts 之 render()
- 基于 Django1.10 文档的深入学习(30)——Class-based views
- 基于 Django1.10 文档的深入学习(3)—— models.py 之 FileField
- 基于 Django1.10 文档的深入学习(15)——django.contrib.auth.hashers
- 基于 Django1.10 文档的深入学习(13)—— Making queries 之 Q objects