django显示模板

时间:2016-11-13 13:17:28

标签: django django-templates

在我的UserProfile应用程序中我正在尝试添加照片上传,在管理面板中我可以看到照片链接,当我从用户个人资料上传它并且它工作正常但我无法在我的模板中显示

urls.oy

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

模型

class UserProfile(models.Model):
        user = models.OneToOneField(User, related_name='user')    
        photo = models.FileField(null=True, blank=True)

        def create_profile(sender, **kwargs):
            user = kwargs["instance"]
            if kwargs["created"]:
                user_profile = UserProfile(user=user)
                user_profile.save()
        post_save.connect(create_profile, sender=User)

在我的模板中,我尝试了所有这些组合但没有效果

<div>  <img  src="{{user.user.photo}}" alt="image example"/>
            <img  src="{{user.photo.url}}" alt="image example"/>
            <img  src="{{user.image.url}}" alt="image example"/>
            <img  src="{{instance.photo.url}}" alt="image example"/>
            <img  src="{{instance.image.url}}" alt="image example"/>
            <img  src="{{UserProfile.photo.url}}" alt="image example"/>
            <img  src="{{UserProfile.image.url}}" alt="image example"/>



    </div> 

2 个答案:

答案 0 :(得分:0)

在我的情况下,由于我有related_name='user',我需要照片路径。都是

{{user.user.photo.url}}

但如果我没有related_name =&#39; user&#39;路径是

{{user.UserProfile.photo.url}}

答案 1 :(得分:0)

您确定要上传文件吗?

请检查django的File upload documentation以确保您处理上传的文件。

如果一切正常,您必须看到一些文件上传到您在设置中指定的MEDIA_URL文件夹。