我是python和django的新手。 我的代码如下,问题是图像没有出现。 我在teste.html中包含了这个标签,但它没有用到src =“./ assets / images / 3ed274bc061c771ef0b153111a6fe932_logocartorio.png”
我的路径是:
BCcartorio
bccartorio
settings
urls
iddigital
views
urls
templates
iddigital
teste.html
assets
css
images
js
我的iddigital.views.py:
from django.shortcuts import render, HttpResponse
def home(request):
return (render(request, "iddigital/teste.html"))
我的teste.html:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>teste</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</head>
<body>
<h1>Welcome</h1>
<button class="btn btn-danger" type="button" name="button">login</button>
<div class="bd-vertical-align-wrapper">
<img class="bd-imagelink-1 bd-own-margins bd-imagestyles " src="./assets/images/3ed274bc061c771ef0b153111a6fe932_logocartorio.png">
</div>
</body>
</html>
答案 0 :(得分:0)
对图像的URL进行硬编码并不是一个好习惯,因为这会导致许多意外问题(例如路径混淆)。为了避免这种情况,Django
提供了一种轻松管理和提供静态文件的无障碍方法。
首先,您必须在django.contrib.staticfiles
中添加INSTALLED_APPS
个应用,然后在settings
文件中定义STATIC_URL
作为基本路径的Django
static
用于在模板中查找静态文件。最好有一个单独的assets
文件夹,其中包含css
文件夹,其中包含js
,images
,assets
等子文件夹。
因此,我从该路径中取出static
文件夹并将其移至iddigital
文件夹中,该文件夹与templates
和STATIC_URL
处于同一级别那些。在这种情况下,您的'/static/
变量将等于teste.html
。
现在,在{% load static %}
模板中,您可以通过在文件顶部添加<img src="{% static "assets/images/logocartorio.png" %}" class="bd-imagelink-1 bd-own-margins bd-imagestyles"/>
来加载静态文件夹。现在可以像下面这样简单地调用您的图像:Django
有关上述内容的更多信息,请参阅优秀的keytool
documentation。