我是django的新手,我遇到了问题。我有一个带有图像和一些数据的html表,并且根据你选择哪一个图像应该显示在下一页,但是我有显示图像的问题,我得到的只是图标。图像在第一页上工作,但所选页面出现问题。 谁能帮助我? (我正在使用django 1.10)
models.py
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})
urls.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 %}
settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
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 %}
答案 0 :(得分:0)
您必须添加网址格式:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
答案 1 :(得分:0)
首先,您必须确保在浏览器测试中使用http://xxxxxxx/xxx/you.jpg显示您的图片