python - 如何在我的主页中添加显示图像
问题描述
我正在创建一个网站,我想在其中发布一些带有图像的信息,在我的管理页面中我可以添加图像并且它工作正常。但是当我来到主页时它没有出现
我正在使用 django 和 python。我知道,我以前在主页模板中调用图像的方式不对,请帮助我如何将图像带入主页?
网址
from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import static
app_name = "main"
urlpatterns = [
path("", views.homepage,name="homepage"),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
主页模板
{% extends 'main/base.html' %}
{% block content %}
<a class="waves-effect waves-light btn" href="">button</a>
<div class="row">
<div class="col s12 m9" >
{% for Doc in documents %}
<div class="card">
<div class="card-image">
<p>{{Doc.docs_name}}</p>
<p>{{Doc.police_station}}</p>
<p>{{Doc.docs_details}}</p>
<img src = "{{Documents.docs_pic.url}}" width = "240">
</div>
</div>
{% endfor %}
</div>
</div>
{% endblock %}
意见
from django.shortcuts import render
from django.http import HttpResponse
from . models import Documents
from main.models import Documents
# Create your views here.
def homepage(request):
return render(request=request,
template_name="main/home.html",
context={"documents":Documents.objects.all}
)
模型
from django.db import models
# Create your models here.
class Documents(models.Model):
docs_name = models.CharField(max_length=200)
police_station = models.CharField(max_length=200)
docs_details = models.TextField()
docs_pic = models.ImageField(upload_to="profileimages",blank=False)
def __str__(self):
return self.docs_name
解决方案
这里有几个问题:
首先,在你views.py
传递Documents.objects.all
到模板上下文中。您应该Documents.objects.all()
作为函数调用;注意()
最后
其次,在您引用的模板中Documents.docs_pic.url
。您在 forloop 中,Doc
您定义的变量在哪里,所以这应该是Doc.docs_pic.url
还有一些小事:你应该设置width="240px"
并且应该关闭图像标签,用<img src="{{ Doc.docs_pic.url }}" style="width: 240px" />
推荐阅读
- django - 在将数据保存到数据库时,一些 html 部分正在丢失
- python - 自动滚动画布以显示屏幕 tk 条目
- python - 分析,预测序列的下一个元素
- spring - 未经授权的用户可以访问登录页面中的 app js
- typescript - 如何在服务器上使用 fp-ts 验证用户?
- java - java和mysql(j-connector)如何使用preparedStatement创建表?
- javascript - 如何捕获 HTML (JavaScript) 中显示的链接并将其作为变量传递给另一个 HTML 页面?
- php - 我可以使用允许 PHP 连接到 sybase 的证书而不是使用帐户/密码吗?
- python - 如何使用 python 在 Active Directory 的用户配置文件中添加组?
- c# - For 循环中的逻辑异或与条件逻辑或