如何在 Django 中使用 static_url 制作自定义图像路径?

Posted

技术标签:

【中文标题】如何在 Django 中使用 static_url 制作自定义图像路径?【英文标题】:How can I make custom image path with static_url in Django? 【发布时间】:2021-06-19 22:30:51 【问题描述】:

我有六个图像名称分别为骰子每一面的 1.jpg6.jpg,我想显示由我在运行时生成的随机数定义的图像.

如何制作包含此随机数的动态路径?我尝试了一些方法,但只获得了404 image not found

settings.py

STATIC_URL = '/static/'

图片文件夹:

D:\programs\Django_projects\src\dice\random_dice\static\images

Dice 是我的项目名称,random_dice 是我的应用名称。

我已经试过了:

<img class="myImage" src='% static "images/ number .jpg"%' >

<img class="myImage" style="background-image:url(' STATIC_URL  images/ number .jpg')" >

还尝试在渲染页面之前制作自定义名称并放入dict但仍然无法正常工作

view.py

def home(request):
   X = random.randrange(1, 6)
   result = 
   "number": X,
   "myImage": str(X) + '.jpg'
   
   return rander(request, 'home.html', result)

在那种情况下...

<img class="myImage" src='% static "images/ myImage "%' >

<img class="myImage" style="background-image:url(' STATIC_URL  images/ myImage ')" >

我应该将图像文件夹移动到其他位置或更改 STATIC_URL 还是语法错误?我不知道请帮忙。

【问题讨论】:

尝试将static 文件夹移动到dice 中,这样您的路径应该类似于D:\programs\Django_projects\src\dice\static 【参考方案1】:

一种可能的解决方案:

<img class="myImage" src='% static "images" % myImage ' />

static "images" 将在“图像”前面加上 STATIC_URL,myImage 被带到 % % 之外,现在双花括号可以正常工作。

【讨论】:

以上是关于如何在 Django 中使用 static_url 制作自定义图像路径?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django settings.py 中为 CDN 设置 STATIC_URL

使用 django 将 STATIC_URL 传递给文件 javascript

Django_静态文件的配置(STATIC_URL)

为啥更改我的“STATIC_URL”设置会改变我的 Django 应用程序是不是正常工作?

Django 中的 STATIC_URL 和 STATIC_ROOT 有啥区别?

django staticfiles 在 url 根