Python/Django显示图像
我刚来django,遇到了一个问题。我有一个包含图像和一些数据的html表格,这取决于你选择的图片应该显示在下一页上,但我在显示图片时遇到了问题,我得到的只是坏掉的图标。图像在第一页工作,但所选页面有问题。 有人能帮我吗?(我正在使用django 1.10) models.pyPython/Django显示图像,python,django,image,html-table,Python,Django,Image,Html Table,我刚来django,遇到了一个问题。我有一个包含图像和一些数据的html表格,这取决于你选择的图片应该显示在下一页上,但我在显示图片时遇到了问题,我得到的只是坏掉的图标。图像在第一页工作,但所选页面有问题。 有人能帮我吗?(我正在使用django 1.10) models.py class Tags(models.Model): tag_name = models.CharField(max_length=250) tag_chip_type = models.CharField
class Tags(models.Model):
tag_name = models.CharField(max_length=250)
tag_chip_type = models.CharField(max_length=250)
tag_size = models.CharField(max_length=250)
tag_frequency = models.CharField(max_length=250)
tag_standards = models.CharField(max_length=250, null=True, blank=True)
tag_memory = models.CharField(max_length=250)
tag_reading_distance = models.CharField(max_length=250)
tag_environment = models.CharField(max_length=250)
tag_mounting_method = models.CharField(max_length=250)
tag_operating_temperature = models.CharField(max_length=250, null=True, blank=True)
tag_storage_temperature = models.CharField(max_length=250, null=True, blank=True)
tag_chemical_and_environmental_resistances = models.CharField(max_length=500, null=True, blank=True)
tag_image = models.FileField()
def __unicode__(self):
return self.tag_name + ' ' + self.tag_image.url
def get_absolute_url(self):
return reverse('tag:index')
views.py
def selected(request):
tags = request.GET.getlist('selected')
return render(request, 'tag/selected.html', {'all_tags':tags})
url.py
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
index.html
<form action="{% url 'tag:selected' %}" method="get">
<table id="selected" class="white-table table-bordered table-hover" style="width:95%; margin: 3% auto;">
<thead>
<tr>
<th style="text-align:center;"><input type="checkbox" onClick="toggle(this)"></th>
<th></th>
<th style="text-align:center;">Name</th>
<th style="text-align:center;">Chip Type</th>
<th style="text-align:center;">Size</th>
<th style="text-align:center;">Frequency</th>
<th style="text-align:center;">Memory</th>
<th style="text-align:center;">Reading distance</th>
<th class="null" style="text-align:center;">Environment</th>
<th class="null" style="text-align:center;">Mounting method</th>
</tr>
</thead>
<tbody>
{% for tags in all_tags %}
<tr>
<td style="text-align:center;"><input type="checkbox" name="selected" value="{{ tags.tag_image.url }}"></td>
<td><a href="{% url 'tag:detail' tags.id %}"> <img src="{{ tags.tag_image.url }}" class="img-responsive" style="width: 60px; height:80px; margin:auto;" /> </a></td>
<td style="text-align:center;"> {{ tags.tag_name }} </td>
<td style="text-align:center;"> {{ tags.tag_chip_type }} </td>
<td style="text-align:center;"> {{ tags.tag_size }} </td>
<td style="text-align:center;"> {{ tags.tag_frequency }} </td>
<td style="text-align:center;"> {{ tags.tag_memory }} </td>
<td style="text-align:center;"> {{ tags.tag_reading_distance }} </td>
<td class="null" style="text-align:center;"> {{ tags.tag_environment }} </td>
<td class="null" style="text-align:center;"> {{ tags.tag_mounting_method }} </td>
</tr>
{% endfor %}
</tbody>
</table>
<input class="btn-primary" style="float:right; margin-right:2.5%; margin-bottom:3%;" type="submit" value="Submit">
</form>
{% endblock %}
selected.html
{% block body %}
{% for tags in all_tags %}
<div class=" col-md-4">
<div class="panel panel-default">
<div class="panel-body">
<img src=" '/media/'{{ tags.tag_image.url }}" class="img-responsive" style="width: 60px; height:80px; margin:auto;" />
</div>
</div>
</div>
{% endfor %}
{% endblock %}
{%block body%}
{所有_标记%中的标记的百分比}
{%endfor%}
{%endblock%}
您必须添加url模式:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
首先,你必须确保你的图片可以显示,在浏览器测试中使用http://xxxxxxx/xxx/you.jpg在每个浏览器中都是一样的,我认为url有问题,它看起来是这样的“”,但我真的不知道如何修复它img.缩略图=“/static/img/1.jpg”这是我的或{%load staticfiles%}这样,i ofc可以显示图像,但这不是我想要的,因为它将在每个选定对象上显示该图像:(
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)