Jér*_*e G 3 html python django image
我的项目中的“静态文件”有一些问题,我只想加载一个图像。这是我的代码:
视图.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))
Run Code Online (Sandbox Code Playgroud)
网址.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'),
]
Run Code Online (Sandbox Code Playgroud)
D3.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
{% load staticfiles %}
<img src="{% static "appli1/testimg.png" %}" alt="My image"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
设置.py
STATIC_URL = '/static/'
Run Code Online (Sandbox Code Playgroud)
图像 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
Run Code Online (Sandbox Code Playgroud)
小智 7
您的代码存在以下问题:
1)检查报价
<img src="{% static "appli1/testimg.png" %}" alt="My image"/>
Run Code Online (Sandbox Code Playgroud)
从技术上讲,在上面的“{% static”将被读取为一个值,然后将“%}”读取为另一个值,最后将“My image”读取为另一个值。
以下是正确的做法:
<img src="{% static 'appli1/testimg.png' %}" alt="My image"/>
Run Code Online (Sandbox Code Playgroud)
这样 html 将它读为“{% static 'appli1/testimg.png' %}”作为一个整体,其中位于 'appli1/testimg.png'。
2) 由于我不知道您的目录结构,因此也不知道您的根目录,这可能是另一个问题。
如果在您的 'appli1/static/appli1' 中,您的 'static' 与根目录处于同一级别,那么它会正常工作,我认为情况就是如此,因为即使您的模板在 'appli1/templates/appli1/ ' 并且您的模板正在加载。因此证明“静态”处于根级别。
否则,如果情况并非如此,甚至没有加载您的模板(因为我只是假设您的模板正在加载),那么您的根“静态”和“模板”文件夹与根目录不在同一级别,因此您在 html 中指定的 url 没有发现 html 和静态文件。
归档时间: |
|
查看次数: |
11671 次 |
最近记录: |