当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django serve用法及代码示例


本文介绍 django.views.static.serve 的用法。

声明

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

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

最可能的示例是 MEDIA_ROOT 中的 user-uploaded 内容。 django.contrib.staticfiles 适用于静态资产,并且没有对 user-uploaded 文件的内置处理,但是您可以通过将以下内容附加到 URLconf 来让 Django 为您的 MEDIA_ROOT 提供服务:

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

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

if settings.DEBUG:
    urlpatterns += [
        re_path(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.serve')作为参数。任何其他函数参数都将透明地传递给视图。

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.views.static.serve。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。