当用户不是超级用户或没有配置文件映像(通过admin中的userprofile提交)时,会发生此错误。
在/ accounts / profile /中的ValueError 'image'属性没有与之关联的文件。 请求方法:GET 请求网址:http://127.0.0.1:8000/accounts/profile/
模板渲染期间发生错误
health
models.py:
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">
为什么会这样?它实际上不能为base.html(扩展)吗?如果还有其他需要帮助解决的问题,请告诉我。谢谢
答案 0 :(得分:1)
您可以在ImageField()中添加一个'null = True'。 另外,请检查图片是否已成功在管理员中上传。如果有,请尝试重新上传图像,然后重试。
答案 1 :(得分:1)
在渲染图像的行中查找(例如,base.html
),并添加if条件。像这样:
{% if item.image %}
<img target="_blank" src="{{ item.image.url }}" />
{% endif %}
我认为这是不言自明的,但是如果需要的话,请随时提出疑问。