2023-04-25 22:09:26
导读:本篇文章首席CTO笔记来给大家介绍有关django如何使用静态文件路径的相关内容,希望对大家有所帮助,一起来看看吧。
Django静态文件与动态文件编辑settings:
MEDIA_ROOT和MEDIA_URL代表的是用户上传后的文件保存的地方。可以理解为存放可变文件的文件夹。
这两个参数有什么用处呢?
在Django的FileField和ImageField这样的Model类中,有upload_to参数可选。当upload_to设置相关的地址后,如例子:
文件上传后将自动保存到:os.path.join(MEDIA_ROOT,upload_to),在本例中就是:/static/uploads/test_pictures
而MEDIA_URL,则代表用户可以通过怎样的URL来访问这些上传后的文件资源。
在本例子中,本机地址是:,MEDIA_URL设置为/static/uploads/
那么通过:文件名就可以访问相关的上传图片或者其他文件。
STATIC_ROOT和STATIC_URL则是网站中,用于网站放置的静态图片、CSS、JS等文件的保存地址。可以理解为,保存网站运行中不会再变文件的文件夹(即不会删除或者新增)
STATIC_URL,同MEDIA_URL类似;设置STATIC_URL为"/static/"时候,通过:文件名就可以访问相关的静态文件了。
STATIC_ROOT是一个比较特殊的文件夹。这是Django的开发模式和部署模式区别最大的地方。
通常我们在开发模式下,可以在我们所在的project下建立相应的app,然后每个app下都建立相应的static文件夹。在开发模式下(Debug=True),Django将为我们自动查找这些静态文件(每个app)并在网页上显示出来。然而,在部署模式下,Django认为这些工作交由web服务器来运行会更有效率。
因此,在部署时,我们需要运行一下:
这个命令将会把每个app里的static目录下的文件copy到STATIC_ROOT这个文件夹下。
如果在部署模式下,即:(Debug=False)访问相关网页,如:文件名,将不会访问Django下各个App中的static文件夹,而是STATIC_ROOT中所指定的文件夹。
为了在部署模式下正确使用,我们还需要在urls.py中添加以下:
这相当于告诉Django碰到一个"static"开头的链接时,该如何处理。
了解完以上之后,我们让图片在前端显示出来。
编写一个show视图函数,来传递动态图片:
然后编写show.html:
djangostatic文件路径问题
可能是浏览器使用缓存了。
按住ctrl+f5,强制浏览器刷新css和js文件......
如果还不行,就到Django从入门到精通这里找找看,有没有解决办法。
Django中静态文件之各个配置详解2.STATIC_ROOT:这个是配置静态文件存放目录,另外一个作用就是运行收集静态文件的命令(关于命令的部分后面会讲)时,最终静态文件收集存放的位置,注意,这个配置只会在debug=false时生效(生产环境)(至于为什么之后会讲)。
4.STATICFILES_DIRS:在实际项目开发中,如果我们的静态文件存放在一个或多个目录时,可以定义一个列表,用于存储静态文件,django默认配置并没有这个配置,如果需要,请自己定义,当项目下存在一个或多个静态资源的目录时,非常适合这样定义。注意,这个配置只在debug=true时生效(开发环境)
8.templates:定义HTML模板文件存放目录,如果你用的是pycharm的IDE的话,在创建项目时,可以根据配置自动创建一个templates目录,pycham会自动帮我们配置,如果没有配置,就需要手动创建,当然,你也可以选择自定义该目录
9.collectstatic:在项目部署时,我们还要进行静态文件的收集,如果手动收集静态文件的话,工程量无疑很大,而且部署后,debug肯定要改为debug=false,这时如果不进行静态文件的收集的话,django自带的部分,如admin后台就会出现CSS无法加载的问题,因此,项目部署前,这个操作是是必须的。
django的django.contrib.staticfiles提供了一个收集静态文件的命令:pythonmanage.pycollectstatic,执行该命令后,会将静态文件收集到配置好的STATIC_ROOT中
django中怎么载入css等静态文件Django版本1.10?
网站通常需要js,css,图片等文件,在Django中,我们把这些文件称为“静态文件”(staticfiles)。Django提供django.contrib.staticfiles来管理他们。使用方法如下:?
1.在settings.py中定义你的STATIC_URL:
STATIC_URL='/static/'1
2.在项目中,static文件的目录如下图所示:?
项目名:ProjetTestDjango;APP名:peojetDjango,static文件夹在APP目录下。
3.在settings.py中添加项目APP:?
4.在HTML文件中调用:
{%loadstatic%}linkrel="stylesheet"href="{%static'css/style.css'%}"type="text/css"media="all"12
imgclass="img"src="{%static'images/logos/Google_Translate_Icon.png'%}"width="36"height="36"1
django前端怎么设置静态文件路径设置一个路径变量
APP_PATH=os.path.dirname(os.path.dirname(__file__))
#Absolutepathtothedirectorystaticfilesshouldbecollectedto.
#Don'tputanythinginthisdirectoryyourself;storeyourstaticfiles
#inapps'"static/"subdirectoriesandinSTATICFILES_DIRS.
#注意要修改STATIC_ROOT变量
STATIC_ROOT=os.path.join(APP_PATH,'static').replace('\\','/')
#URLprefixforstaticfiles.
#Example:ample.com/static/","hic.example.com/"
STATIC_URL='/static/'
#当然还有STATICFILES_DIRS变量
STATICFILES_DIRS=(
#Putstringshere,like"/home/html/static"or"C:/www/django/static".
#Alwaysuseforwardslashes,evenonWindows.
#Don'tforgettouseabsolutepaths,notrelativepaths.
os.path.join(APP_PATH,'mobile_oa_server/static').replace('\\','/'),
)
结语:以上就是首席CTO笔记为大家整理的关于django如何使用静态文件路径的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django如何使用静态文件路径的相关内容别忘了在本站进行查找喔。