Django关于访问静态文件总结

本文详细介绍了Django中处理静态文件(如CSS、JS、图片)的配置方法,包括在settings.py中设置STATICFILES_DIRS、STATIC_URL、STATIC_ROOT,以及在开发和部署环境中如何引用和管理静态文件。在开发阶段,Django会自动处理静态文件,而在部署时,需要通过collectstatic命令收集静态文件并由Web服务器处理。
摘要由CSDN通过智能技术生成

简介

开发网站的过程中,我们需要使用到大量的静态文件,例如jsCSS,图片等等,一般我们会在网页中以URL的形式引用它们。Django提供了一些特殊的机制来处理静态文件。默认情况下(如果没有修改STATICFILES_FINDERS的话),Django首先会在STATICFILES_DIRS配置的文件夹中寻找静态文件,然后再从每个appstatic子目录下查找,并且返回找到的第一个文件。所以我们可以将全局的静态文件放在STATICFILES_DIRS配置的目录中,将app独有的静态文件放在appstatic子目录中。存放的时候按类别存放在static目录的子目录下,如图片都放在images文件夹中,所有的CSS都放在css文件夹中,所有的js文件都放在js文件夹中。

配置全局的静态文件目录

默认情况下,STATICFILES_DIRS为空,我们可以这样配置:

import os.path

STATICFILES_DIRS (

    Put strings here, like "/home/html/static" or "C:/www/django/static".

    Always use forward slashes, even on Windows.

    Don't forget to use absolute paths, not relative paths.

    os.path.join(os.path.dirname(__file__), 'static').replace('\\','/'),

)

然后手动创建static文件夹,效果如图:

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Django访问静态文件有几种方法。一种方法是在settings.py中设置STATIC_URL和STATIC_ROOT。STATIC_URL是静态文件的URL前缀,STATIC_ROOT是静态文件的根目录。你可以将静态文件放在STATIC_ROOT目录下,并通过STATIC_URL访问。例如,如果你的STATIC_URL设置为'/static/',那么你可以通过'/static/css/style.css'来访问css文件。另一种方法是使用django.views.static.serve视图函数来提供静态文件访问。你可以在urls.py中添加类似下面的代码来配置静态文件访问路径: ``` from django.conf import settings from django.conf.urls.static import static urlpatterns = \[ # other url patterns \] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) ``` 这样,你就可以通过URL来访问静态文件了。例如,如果你的STATIC_URL设置为'/static/',那么你可以通过'/static/css/style.css'来访问css文件。另外,你还可以使用django.views.static.serve视图函数来提供静态文件访问。你可以在urls.py中添加类似下面的代码来配置静态文件访问路径: ``` from django.conf.urls import url from django.views.static import serve urlpatterns = \[ # other url patterns url(r'^static/(?P<path>.*)$', serve, {'document_root': '/path/to/static/files'}), \] ``` 这样,你就可以通过URL来访问静态文件了。例如,如果你的静态文件存放在'/path/to/static/files'目录下,那么你可以通过'/static/css/style.css'来访问css文件。 #### 引用[.reference_title] - *1* *2* [Django关于访问静态文件总结](https://blog.csdn.net/WaitForFree/article/details/39815507)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [8-Django静态文件访问](https://blog.csdn.net/LOVEYSUXIN/article/details/122324842)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值