Django 框架下的media和static静态文件

Django有两种静态文件

static: 静态文件夹,存放CSS,JS,网站的一些图片等静态资源,为Templates下的html页面提供的。static是不会变化的
media:媒体文件夹,存放网站中用户所相关的一些文件,比如说用户的图片,歌曲的资源,封面等一系列资源。media下的文件是变动的,由系统用户等来决定

 项目开发中的配置

static

1:在项目的根目录下创建static文件夹

2:在settings.py下进行配置

BASE_DIR = Path(__file__).resolve().parent.parent

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static/'),
)

3:在url中配置 

4:在html中使用

{% load static %}

# 引入js文件
<script data-main="/static/js/play.js" src="/static/js/require.js" ></script>

# 通过{% static %}引入
<img src="{% static "imgs/logo.jpg" %}" alt=""/>

mdia

标注:

  • MEDIA_ROOT:设置用户上传文件的实际保存目录,该文件夹自动创建

  • MEDIA_URL 代表用户通过URL来访问这个本地地址的URL

1:在项目的根目录下创建media文件夹

2:在settings.py下进行配置

BASE_DIR = Path(__file__).resolve().parent.parent


MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

3:在url中配置

4:在html中使用

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django中,可以通过表单来实现文件上传功能。当用户提交包含文件的表单时,Django会将文件写入一个临时文件,存储在系统的临时目录中。对于较大的文件,你可以观察到文件大小的增长,因为Django会将数据写入磁盘。\[1\] 如果你需要在Django中实现文件下载功能,有几种方法可以实现。最简单的方式是将静态文件交给Nginx等处理。但是,有些情况下,由于网站本身的逻辑,需要通过Django提供下载功能,例如页面数据导出功能或先检查用户权限再下载文件等。在这种情况下,你可以研究一下在Django中实现文件下载功能的方法。\[2\] 要在Django中实现文件上传功能,你可以按照以下步骤进行操作: 1. 在主路由中添加路由,导入必要的模块: ``` from django.conf import settings from django.conf.urls.static import static ``` 2. 将以下代码添加到路由列表中: ``` urlpatterns = \[ ... \] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ``` 这样,你就可以在Django中使用表单来上传文件了。\[3\] #### 引用[.reference_title] - *1* *2* [django 的上传文件操作](https://blog.csdn.net/zhanghs1989/article/details/123924347)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Django - 文件上传](https://blog.csdn.net/pipi_peng/article/details/117399405)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值