从Django Vi构建HTML

2024-06-20 15:12:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从Django视图构造HTML主体,但我找不到正确引用JPG文件的解决方案(必须说,HTML比这个要大得多,但是其他东西似乎对我有用) )地址:

我试过这个:

from django.template import Template
...
html = Template('<IMG SRC="{% static "base/images/course/website-46-2.jpg" %}">')
return HttpResponse( html )

我得到一个错误:

Invalid block tag on line 1: 'static'. Did you forget to register or load this tag?

在Django模板中,我通过加载静态文件来解决此问题:

{% load static %}

如何在Python(Django视图)中实现这一点?或任何其他建议,不胜感激。你知道吗

我尝试了不同的解决方案,我在这个网站和其他人找到,但似乎没有一个适合我。你知道吗

Django版本:2.2.1


Tags: 文件djangofrom视图地址htmltagload
3条回答
def startchat(request):
   template=loader.get_template('app1/chatbot.html')
   return HttpResponse(template.render())

此函数用于将html页面加载到Django中。 在此之前,我们需要导入模块

from django.template import loader

你把你的静态网址设置进去了吗设置.py?您可以通过以下方法来实现这一点:

STATIC_URL = '/static/'

您的图像将在'your_app/static/base/images/course/website-46-2.jpg'下找到。你知道吗

文件夹结构是否遵循此约定?如果没有,您可以将静态URL设置为'/base/'

您可以使用static库作为内置函数来创建引擎。这使得它对模板可用,而无需首先调用{% load static %}。你知道吗

from django.template import Template, Context, Engine

engine = Engine(builtins=['django.templatetags.static'])
template = engine.from_string('<IMG SRC="{% static "base/images/course/website-46-2.jpg" %}">')
return HttpResponse(template.render(Context()))

相关问题 更多 >