这篇文章将为大家详细讲解有关如何在Django中配置静态文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
<强>静态配置:强>
静态主要指的是如css、javascript、图像这样文件:
STATIC_URL =, & # 39;/静态/& # 39;,#,别名 STATICFILES_DIRS =, ( os.path.join才能(BASE_DIR,“static"),, #,实际名,即实际文件夹的名字 ] #,注意:django对引用名和实际名进行映射,引用时,只能按照引用名来,不能按实际名去找以前><强>媒体配置:强>
MEDIA_URL =,“/媒体/? #,用户上传的文件(针对models.py中的FileField, ImageField字段)保存到哪 MEDIA_ROOT =, os.path.join (BASE_DIR,“应用程序名字“,,“media")#,配合settings.py里的MEDIA_URL =,“/媒体/芭渲?即对外开放了这个接口的权限 得到django.conf.urls import url 得到django.views.static import 服务 得到只import 设置 urlpatterns =, ( ,,url(" # 39; ^媒体/(?术;path>。*) $ & # 39;,,,, {“document_root": settings.MEDIA_ROOT}), )<>强ps: 强>
静态文件的处理又包括静态和媒体两类,这往往容易混淆,在Django里面是这样定义的:
媒体:指用户上传的文件,比如在模型里面的FileFIeld, ImageField上传的文件。如果你定义
MEDIA_ROOT=c: \ temp \媒体,那么文件=models.FileField (upload_to=癮bc/? #,上传的文件就会被保存到
c: \ temp \媒体\ abc 例如: class 博客(models.Model): 时间=Photo models.ImageField (upload_to=皃hoto")上传的图片就上传到c: \ temp \媒体\照片,而在模板中要显示该文件,则在设置里面设置MEDIA_ROOT(必须是本地路径的绝对路径),一般是这样写:
<代码> MEDIA_ROOT=os.path。加入(BASE_DIR & # 39;媒体/& # 39;).replace(& # 39; \ \ & # 39;, & # 39;/& # 39;) 代码>
MEDIA_URL是指从浏览器访问时的地址前缀,举个例子:
MEDIA_ROOT =, c: \ temp \ \媒体照片 ,,,MEDIA_URL =,“/数据/?/pre>在开发阶段,媒体的处理由django处理:
访问http://localhost/data/abc/a.png就是访问c: \ temp \媒体\ \ abc \ a.png照片
在模板里面这样写& lt; img src=https://www.yisu.com/zixun/"/媒体/abc/a.png ">
在部署阶段最大的不同在于你必须让web服务器来处理媒体文件,因此你必须在web服务器中配置,
以便能让web服务器能访问媒体文件。
以nginx为例,可以在nginx.conf里面这样:
,,,的位置~/媒体/{ ,,,,,,,,根/temp/,,,,,,,,,休息; ,,,,,,,}关于如何在Django中配置静态文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。
如何在Django中配置静态文件