django的静态文件 setting设置

django url 区分静态文件跟动态文件的不一样的,静态文件,静态请求是不走url的,就是不用设置 path_url ,直接在 setting.py 进行配置,django 内部直接指定静态路径,从而显示静态资源,具体如下:(这个是django内部自动配置的url,自动显示在settings.py 文件里面)

STATIC_URL="/static/'

对应的url 就是

http://127.0.0.1/static/xxx ; xxx是表示具体的静态资源位置.,就是从配置中就指定访问静态文件需要通过/static/xx ,

,该url对应的文件地址是什么,需要在setting.py 中指定静态文件的位置,

具体操作方法:

setting.py 文件中:

STATICFILES_DIRS=(

os.path.join(BASE_DIR,"static"),)

# 这是静态文件所在的文件夹的路径集合,是一个元组,符合所有的元组特征,可以设置多个文件的位置,如果是,templates/static 那么就要在 templates 文件下建立 static,如果仅仅是static 就是在 根目录下(BASE_DIR),直接建立static 文件夹(静态文件所在文件夹),以上都是setting.py 里面的配置。

2.以下是在templates 里面的呈现:

         2.1 首先要在setting.py 设置 templates的路径

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

其中红色那条就是,它的意思就是,根目录下面的templates文件夹所在的位置。其他信息是django里面自带的

2.2 建立测试文件

2.2.1 在view.py 建立 方法:

def  imges_v(request):
     return  render(request,'imges-t.html')

2.2.2 在url.py 建立url的链接:

urlpatterns = [path('imges_v',imges_v)]

2.2.3 把静态文件如图片放到路径下面:

2.2.4在templates 文件夹下面建立 imges-t.html 的文件,img中代码如下:第一个img 是绝对路径,第二个img 是相对路径

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试静态文件,测试图片</title>
</head>
<body>
<h1 style="color: brown"> 静态文件,图片</h1>
<img src="http://127.0.0.1:8000/static/imges/2.jpg" width="100px" height=100px">

<hr>

<<img src="static/imges/2.jpg" width="100px" height=100px">
        
</body>
</html>

2.2.4 在模板中填写的第二种方法:可以直接导入{% load  static %} 这个语句,这样就可以直接在模板中写文件地址,django会做转为2.2.3的格式,以上代码可以改为:

   

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试静态文件,测试图片</title>
</head>
<body>

<h1 style="color: brown"> 静态文件,图片</h1>
<h3>1.以下使用是ulr格式填写的src地址</h3>
<img src="http://127.0.0.1:8000/static/imges/2.jpg" width="100px" height=100px">


<hr>

<img src="static/imges/2.jpg" width="100px" height=100px">

<h3 style="color: bisque">以下是用文件的格式测试图片格式的</h3>
{%  load static %}
      <img src="{% static 'imges/2.jpg'%}"width="50"height="50">
</body>
</html>

建议采用这种方式,原因是 这种更加灵活,这种方式如果更改static 文件前缀的话,只需要更改setting.py 里面的 static 更改为需要的字段即可,不用更改 文件夹的名称或者文件的名称, 从而在url 中 呈现 所更改的字段,例如: 如果要把url 中静态文件的路径更改为  主机名/static/静态文件名  更改为 主机名/想要更改的名称/静态文件名 ,就是只需要更改这个代码就行了,在url就会对应的改变。

STATIC_URL = '/statics/'

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值