gpt4 book ai didi

python - Django - 显示带有静态文件的图像

转载 作者:行者123 更新时间:2023-11-28 22:35:04 25 4
gpt4 key购买 nike

我的项目中的“静态文件”存在一些问题我想简单地加载图像。这是我的代码:

views.py

from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader

# Create your views here.

def D3(request):
     template = loader.get_template('appli1/D3.html')
     context = {}
     return HttpResponse(template.render(context, request))

urls.py

from django.conf.urls import url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
 
from . import views
 
urlpatterns = [
    url(r'^D3$', views.D3, name='D3'),
]

D3.html

<!DOCTYPE html>
<html>
<head>
</head>
<body>
    {% load staticfiles %}
    <img src="{% static "appli1/testimg.png" %}" alt="My image"/>
</body>
</html>

settings.py

STATIC_URL = '/static/'

图片testimg.png在appli1/static/appli1/中

并且文件 D3.html 在 appli1/templates/appli1/中

感谢您的帮助!

编辑:我的项目结构对我来说似乎很好,也许我错了。这是它的样子:

test_django/
manage.py
db.sqlite3
test_django/
__init__.py
settings.py
urls.py
wsgi.py
__pycache__/
...
appli1/
__init__.py
admin.py
apps.py
models.py
tests.py
urls.py
views.py
__pycache__/
...
migrations/
...
static/
appli1/
testimg.png
templates/
appli1/
D3.html

最佳答案

您的代码存在以下问题:

1) 检查

中的引号
<img src="{% static "appli1/testimg.png" %}" alt="My image"/>

从技术上讲,上面的“{% static”将被读取为一个值,然后“%}”被读取为另一个,最后“我的图像”被读取为另一个。

以下是正确的做法:

<img src="{% static 'appli1/testimg.png' %}" alt="My image"/>

这样 html 读取它“{% static 'appli1/testimg.png' %}”作为一个整体在里面是'appli1/testimg.png'。

2) 由于我不知道您的目录结构和根目录,这可能是另一个问题。

如果在您的 'appli1/static/appli1' 中,您的 'static' 与根目录处于同一级别,那么它将正常工作,我认为即使您的模板也在 'appli1/templates 中也是如此/appli1/' 并且您的模板正在加载。因此证明“静态”在根级别。

否则,如果不是这种情况,甚至您的模板都没有加载(因为我只是假设您的模板正在加载),那么您的根目录“静态”和"template"文件夹不是同一级别的根目录目录,因此您在 html 中指定的 url 没有发现 html 和静态文件。

关于python - Django - 显示带有静态文件的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38482988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com