正在显示 Django 默认图像

时间:2021-01-11 15:52:18

标签: django django-models django-forms

为什么我在下面看不到默认图片是我的模型和 profile.html 文件:

型号:

from django.db import models
from django.contrib.auth.models import User
# Create your models here.

class Profile(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE)
    image = models.ImageField(upload_to='profile_pics',default='default.jpg')

    def __str__(self):
        return f'{self.user.username} Profile'

个人资料.html:

{% extends 'blog/base.html' %}
    {% load crispy_forms_tags %}
    {% block content %}
        <div class="content-section">
            <div class="media">
            <img class="rounded-circle account-img" src="{{ user.profile.image.url }}">
            <div class="media-body">
                <h2 class="account-heading">{{ user.username }}</h2>
                <p class="text-secondary">{{user.email}}</p>
            </div>
            </div>
            <!-- FORM HERE -->
        </div>
    {% endblock content %}

先谢谢你...

1 个答案:

答案 0 :(得分:0)

在模板中,您可以检查图像是否存在,如果不存在,则可以显示静态文件中的默认图像,如下所示

 {% if user.profile.image %}
 <img src="{{ user.profile.image.url }}">
 {% else %}
 <img src="{% static 'img/default.png' %}">
 {% endif %}
相关问题