我想在一张带有其姓名和姓氏列的表格中显示人物图片。当我将其作为源静态文件时,它会显示图片,但是当我向数据库发送请求时,它不会显示。并且它已经将数据插入数据库,并将图片插入/media/images/
。
view.py:
def viewpost(request):
person_list = Persona.objects.all()
if request.method == 'POST':
if request.POST.get('name') and request.POST.get('surname') and request.POST.get('address'):
person = Persona()
person.name = request.POST.get('name')
person.surname = request.POST.get('surname')
person.address = request.POST.get('address')
person.age = request.POST.get('age')
person.cover = request.FILES['cover']
person.save()
return HttpResponseRedirect('/viewpost')
else:
return render(request, 'mysite/viewpost.html', {'persons': person_list})
model.py:
class Persona(models.Model):
name = models.CharField(max_length=255, unique=False)
surname = models.CharField(max_length=255, unique=False)
address = models.TextField()
age = models.CharField(max_length=255, unique=False)
cover = models.ImageField(upload_to='images/')
和模板:
<td ><img src="{{person.cover.url}}" class="img-responsive" width="40px" id="pop" data-toggle="modal" data-target="#myModal"/></td>
答案 0 :(得分:1)
没有设置和模板代码,很难获得整个图片,但是这里有一些提示:
要在模板中显示静态文件,请记住使用{% load static %}
标签。
无论如何,用户上载的文件在媒体文件夹中的状态更好,而不是静态的。您应该将其包含在settings.py
中MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
答案 1 :(得分:0)
如果问题没有解决。试试这个。
在urls.py中将此添加到底部:
brand = ""
try:
brand = make_rating_sp[0].img["title"].title()
except:
pass
在html模板中
from django.conf.urls.static import static
from django.conf import settings
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
在settings.py
<form method="post" enctype="multipart/form-data">