python - 'cover' 属性没有与之关联的文件。姜戈
问题描述
我想在带有姓名和姓氏列的表格中显示人物图片。当我把它作为源静态时它显示图片但是当我向数据库发送请求时它没有显示。并且它已经将数据插入到数据库和图片中/media/images/
。
视图.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})
模型.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>
解决方案
如果没有设置和模板代码,很难获得全貌,但这里有一些提示:
要在模板中显示静态文件,请记住使用{% load static %}
标签。
无论如何,用户上传的文件更好地保存在媒体文件夹中,而不是静态的。您应该将其包含在您的 settings.py 中
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
推荐阅读
- ms-access - 使用日期的条件表达式中的数据类型不匹配
- php - 将代码推送到 GitHub 存储库后如何查找错误?
- sql-server - 如果一列为 Null,则选择其他列
- java - 使用 mySQL 数据库在 JSP 中实现移动平均函数
- php - 如何使用日期从数据库中获取数据?
- mongodb - 如何获取 mongodb 集合中的所有重复文档?
- python - django rest框架中对pandas DataFrame的重复操作
- wordpress - 如何解决表 _fwbk_wp_media_file_manager_log 错误消息
- asp.net - Asp.Net 如何获取每个部门的摘要
- javascript - JavaScript 对象类型之间的区别