【发布时间】:2019-05-27 18:31:38
【问题描述】:
当用户不是超级用户或没有个人资料图片(通过管理员中的 userprofile 提交)时,会发生此错误。
/accounts/profile/ 处的 ValueError 'image' 属性没有与之关联的文件。 请求方法:GET 请求网址:http://127.0.0.1:8000/accounts/profile/
模板渲染时出错
In template /Users/joseph/Documents/django/tutorial/accounts/templates/base.html, error at line 17
The 'image' attribute has no file associated with it.
href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
9 <meta charset="utf-8">
10 <html lang="en" dir="ltr">
11
12 <!-- Navigation bar -->
13
14 <br>
15 <nav class="navbar navbar-expand-lg navbar-green bg-light">
16 <a class="navbar-brand" href="/accounts/home">MySite</a>
17 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
18 <span class="navbar-toggler-icon"></span>
19 </button>
20 {% if user.is_authenticated %}
21 <div class="collapse navbar-collapse" id="navbarNav">
22 <ul class="nav navbar-nav ml-auto">
23 <li class="nav-item">
24 <a class="nav-link" href="/accounts/explore/">Explore</a>
25 </li>
26 </ul>
27 <ul class="nav navbar-nav ml-auto">
models.py:
class UserProfile(models.Model):
user = models.OneToOneField(User, models.CASCADE)
description = models.CharField(max_length=100, blank=True, default='')
city = models.CharField(max_length=100, blank=True, default='')
website = models.URLField(blank=True, default='')
contactNumber = models.IntegerField(blank=True, default=0)
image = models.ImageField(upload_to='profile_image', blank=True)
def __str__(self):
return self.user.username
为什么会这样?它实际上不能是base.html(扩展)?如果还有什么需要添加来帮助解决问题的,请告诉我。谢谢
【问题讨论】: