{{object.image.url}} 和 {{object.image.path}} 在模板中显示为未知,而 {{o



我不知道发生了什么,但这让我很困扰。如问题中所述,.url 在模板中返回未知。

但是当我尝试Model.objects.get(用户名= 1(并打印带有.url链接的返回对象(如object.url(时,它可以工作,并给出/media/url/url.png

class Consultant(models.Model):
    username= models.OneToOneField(User, on_delete=models.CASCADE)
    fname = models.CharField(max_length=150)
    lname = models.CharField(max_length=150)
    phone = models.BigIntegerField()
    country = models.CharField(max_length=100)
    state = models.CharField(max_length=100)
    desc = models.CharField(max_length=600)
    image = models.ImageField(upload_to='Avatar')
    resume = models.FileField(upload_to='documents/%Y/%m/%d')
    def __str__(self):
        return str(self.username)

查看功能

 def dashboard(request):
if request.method == "GET":
    user = request.user
    type = User_Type.objects.get(username=user)
    if type.type:
        con = Consultant.objects.filter().values()
        job = Job.objects.filter(owner=user).values()
        conss = Consultant.objects.get(pk=1)
        print(conss.image.url)
        return render(request,"client.html",{
            "con" : con,
            "job" : job
        })
    else:
        return HttpResponse("<h4>Comingsoon</h4>")

模板

 {% for n in con %}
                <div class="ui card">
                    <div class="content">
                        <img class="right floated mini ui image" src="/media/{{n.image.url}}"> 
                        <div class="header">
                            {{ n.fname }} {{ n.lname }}
                        </div>
                        <div class="meta">
                            <div class="ui star rating" data-rating="4"></div>
                        </div>
                        <div class="description">
                            {{ n.desc }}
                        </div>
                    </div>
                    <div class="extra content">
                        <div class="ui two buttons">
                            <div class="ui basic green button">Hire</div>
                            <div class="ui basic blue button">Profile</div>
                        </div>
                    </div>
                </div>
                {% endfor %}

发生的事情是你正在使用.values()它返回一个字典,其中n["image"]不是一个对象,而是一个 url。

在您的视图中,您编写小测试代码的地方没有使用 values() ,因此您返回了一个对象,其中 conss.image 是一个ImageFieldFile对象,其中 url 属性是路径。

因此行为不同。

相关内容

  • 没有找到相关文章