首页 > 其他分享 >Django4全栈进阶之路8 STATIC静态文件路径设置、MEDIA媒体文件路径设置

Django4全栈进阶之路8 STATIC静态文件路径设置、MEDIA媒体文件路径设置

时间:2023-04-23 21:11:29浏览次数:40  
标签:进阶 settings URL MEDIA 媒体文件 路径 STATIC 设置 ROOT

 

在 Django 4 中,可以在 settings.py 文件中设置 STATICFILES_DIRS 来指定应用程序静态文件所在的文件夹路径,设置 STATIC_ROOT 来指定收集所有应用程序静态文件的目标文件夹路径。例如:

# settings.py
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

其中,STATICFILES_DIRS 是一个列表,包含应用程序静态文件所在的文件夹路径,STATIC_ROOT 是一个字符串,指定收集所有应用程序静态文件的目标文件夹路径。

在生产环境中,需要运行 collectstatic 命令来收集所有应用程序静态文件到 STATIC_ROOT 文件夹。可以使用以下命令:

python manage.py collectstatic

对于媒体文件,可以在 settings.py 文件中设置 MEDIA_ROOTMEDIA_URL,如下所示:

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

其中,MEDIA_ROOT 指定媒体文件的本地存储路径,MEDIA_URL 指定媒体文件的 URL 前缀。

需要注意的是,在生产环境中,需要配置 Web 服务器(如 Nginx 或 Apache)来提供静态文件和媒体文件的服务,而不是使用 Django 4 提供的服务。在开发环境中,Django 4 会自动提供静态文件和媒体文件的服务。

示例:

# 设置静态资源的保存路径
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, '/static')
# 设置媒体资源的保存路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

在 Django 4 中,可以在主路由文件(通常是 urls.py)中设置 STATICMEDIA 路径,以确保能够正确地访问静态文件和媒体文件。

对于静态文件,可以使用以下代码:

# urls.py
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... 其他 URL 模式 ...
]

# 只在开发环境中使用,生产环境需要通过 Web 服务器提供静态文件服务
if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

这段代码使用了 static() 函数来将静态文件路径和 URL 绑定在一起,settings.STATIC_URL 是静态文件 URL 的前缀,settings.STATIC_ROOT 是静态文件的本地存储路径。

对于媒体文件,可以使用以下代码:

# urls.py
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... 其他 URL 模式 ...
]

# 只在开发环境中使用,生产环境需要通过 Web 服务器提供媒体文件服务
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

这段代码使用了 static() 函数来将媒体文件路径和 URL 绑定在一起,settings.MEDIA_URL 是媒体文件 URL 的前缀,`settings.MEDIA_ROOT` 是媒体文件的本地存储路径。

需要注意的是,以上代码中的 if settings.DEBUG 是一个条件语句,只有在开发环境中才需要使用。在生产环境中,通常会使用 Web 服务器(如 Apache 或 Nginx)来提供静态文件和媒体文件的服务,而不是让 Django 直接提供。

因此,如果您的 Django 应用程序将在生产环境中运行,您需要在 Web 服务器配置中设置静态文件和媒体文件的路径,而不是在 Django 项目中进行设置。

 

标签:进阶,settings,URL,MEDIA,媒体文件,路径,STATIC,设置,ROOT
From: https://www.cnblogs.com/beichengshiqiao/p/17347769.html

相关文章

  • Django4全栈进阶之路7 createsuperuser创建超级管理员账号
    在Django4中,可以使用createsuperuser命令来创建超级管理员账号。超级管理员拥有管理后台的所有权限,包括创建、编辑和删除用户、组、权限等操作。下面是创建超级管理员账号的步骤: 1、执行以下命令创建超级管理员账号: pythonmanage.pycreatesuperuser2、设置用户信......
  • Django4全栈进阶之路5 对各类数据库连接设置
    Django4支持多种类型的数据库连接,包括MySQL、PostgreSQL、SQLite、Oracle等。对于不同类型的数据库,需要进行不同的设置。下面是Django4对各类数据库连接的设置方法。MySQL在Django4中连接MySQL数据库,需要使用django.db.backends.mysql引擎。在settings.py文件中......
  • 视频封面图片怎么设置?视频封面设置方法分享!​
    视频封面图片怎么设置?视频封面是指视频发布时显示的静态图片,通常被用作视频的缩略图和展示图,而且一个美观、吸引人的视频封面能够引起用户的兴趣,提高视频的点击率和观看量,我们在社交媒体等平台上分享视频时,视频封面也会自动显示,方便用户快速识别和浏览,那么很多小伙伴不知道该用什么......
  • 3d设置关系颜色
    前言3d-force-graph是一个开源的JavaScript库,用于在3D空间中可视化关系网络。这个库提供了许多配置选项,其中一个是设置关系颜色。colorLink属性在3d-force-graph中,我们可以使用colorLink属性来设置关系的颜色。colorLink可以是一个字符串,指定所有关系的颜色;也可以是......
  • Django4全栈进阶之路3 Model模型
    在Django中,模型(Model)是用于定义数据结构的组件,其作用如下:定义数据结构:模型用于定义数据库中的表格和表格中的字段(列),其中每个模型类对应一个表格,模型中的每个字段对应表格中的一列。模型的定义可以在 models.py 文件中完成。数据库操作:模型提供了简单易用的API用于操作......
  • IDEA @符 路径跳转
    1.在根目录下新建 alias.config.js文件'usescript'constpath=require('path')functionresolve(dir){returnpath.join(__dirname,dir)}module.exports={resolve:{alias:{'@':resolve('src&#......
  • el-table设置表格表头和内容的对齐方式及样式
    在el-table标签上加上以下代码即可为表头和表格设置统一对齐方式和样式:header-cell-style="{'text-align':'center','background':'#f7f8fa'}":cell-style="{'text-align':'center'}" 在el-table-column标签......
  • 中控考勤机管理员/清除/密码/恢复出厂设置方法 zkteco iface 302
     中控考勤机管理员/清除/密码/恢复出厂设置方法zkteco  iface302 打开官网下载 安装包-Zktime5.0考勤软件https://www.zkteco.com/cn/download_catgory/136.html 用网线直连电脑操作 考勤机网线直连电脑ZKtime5.0考勤管理系统清除管理员http://file.zkteco.com/......
  • mybatis-plus没有将XML配置文件放到classpath路径下的解决办法
    1.需求:我将mapper接口对应的xml文件没有放到resources路径下,而是放到了如下图中,导致无法识别1.1默认可以放mapper对应配置文件的位置1.2本人实际放置的mapper对应的xml文件位置2.解决:2.1第一步:在pom文件中添加如下配置<build><resources><reso......
  • Linux 环境,设置git账户密码,免登录
    1git配置个人用户信息#配置用户名gitconfig--globaluser.namewangjing#配置用户邮箱[email protected]#配置记住用户验证信息gitconfig--globalcredential.helperstore#查看相关配置信息gitconfig--lis  2保存账号2.1创建配......