首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >配置文件位于/ ValueError /ValueError/ 'image‘属性没有与之关联的文件

配置文件位于/ ValueError /ValueError/ 'image‘属性没有与之关联的文件
EN

Stack Overflow用户
提问于 2019-05-28 02:31:38
回答 2查看 83关注 0票数 0

当用户不是超级用户或没有配置文件镜像(通过admin中的userprofile提交)时,就会出现此错误。

配置文件位于/ ValueError /ValueError/ 'image‘属性没有与其关联的文件。请求方法: GET请求URL:http://127.0.0.1:8000/accounts/profile/

模板渲染过程中出错

代码语言:javascript
复制
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:

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-28 12:19:58

查找要渲染图像的行(在模板文件中,例如base.html),并添加一个if条件。类似于:

代码语言:javascript
复制
{% if item.image %}
  <img target="_blank" src="{{ item.image.url }}" />
{% endif %}

我认为这是不言而喻的,但如果需要的话,请毫不犹豫地提出任何问题。

票数 0
EN

Stack Overflow用户

发布于 2019-05-28 11:51:09

您可以向ImageField()添加一个'null=True‘。另外,请检查镜像是否已在管理员中成功上传。如果有,请尝试重新上传映像并重试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56330927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档