栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Django中访问“媒体”文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Django中访问“媒体”文件

文件夹设置:

你的项目根目录应类似于:

/app1/app2/media/static/templatesurls.pysettings.pymanage.py

该媒体文件夹应该像图片,下载等材料装东西,可能正常使用本网站的过程中被上传(开发完成后,即)

将静态文件夹应该容纳所有的CSS / JS等材料是网站发展的一个组成部分

Settings.py:

MEDIA_ROOT是上述静态文件夹的绝对服务器路径。这意味着应该是这样的:

MEDIA_ROOT = "/User/Bob/Sites/MySite/Project_root/media/"

MEDIA_URL是当你查看站点时应从中访问媒体文件的相对浏览器URL。它应该(通常)

MEDIA_URL = "media/"

这意味着可以在http://example.com/media/上查看所有资料

同样,STATIC_ROOT应该类似于

STATIC_ROOT = "/User/Bob/Sites/MySite/Project_root/static/"

和STATIC_URL为

STATIC_URL = "static/" 

提供文件:

既然你已经告诉django这些文件夹应该在哪里,以及正确的URL来访问它们,你就需要正确地向文件夹提供所有请求。

通常,在生产时,你希望Web服务器照顾服务静态文件和媒体文件。

如果你正在开发,则只需获取django开发服务器即可为你提供服务。

要做到这一点,你告诉它路由进来的所有请求http://example.com/media你MEDIA_ROOT和进来的所有请求http://example.com/static你STATIC_ROOT。

为此,你可以像下面这样向URLS.py添加一些URL:

from django.conf import settingsif settings.DEBUG:    urlpatterns += patterns('',        url(r'^media/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.MEDIA_ROOT,        }),        url(r'^static/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT,        }),)

额外:

如果你有多个应用程序,每个应用程序都有自己的CSS和JS文件,则可能不希望将它们放在一个/ static /文件夹中。将它们放在它们所属的应用程序的子文件夹中可能会很有用:

/app1/static/ # Specific static folder/app2/static//media//static/ # Root static folder

现在,你的Web服务器/开发服务器仅在你要查找的静态文件(即静态根目录)中查找,因此你需要收集子文件夹中的所有文件并将其复制到静态根目录中。你可以手动执行此操作,但是django提供了一个命令为你执行此操作(这是静态应用程序的重点)

./manage collectstatic


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/411188.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号