当用户不是超级用户或没有配置文件镜像(通过admin中的userprofile提交)时,就会出现此错误。
配置文件位于/ ValueError /ValueError/ 'image‘属性没有与其关联的文件。请求方法: GET请求URL: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(扩展的)?如果还有什么需要添加以帮助解决问题,请让我知道.Thanks
发布于 2019-05-28 12:19:58
查找要渲染图像的行(在模板文件中,例如base.html
),并添加一个if条件。类似于:
{% if item.image %}
<img target="_blank" src="{{ item.image.url }}" />
{% endif %}
我认为这是不言而喻的,但如果需要的话,请毫不犹豫地提出任何问题。
发布于 2019-05-28 11:51:09
您可以向ImageField()添加一个'null=True‘。另外,请检查镜像是否已在管理员中成功上传。如果有,请尝试重新上传映像并重试。
https://stackoverflow.com/questions/56330927
复制相似问题