2016-11-13 126 views
0

在我的UserProfile应用程序中我试图添加照片上传,在管理面板中,我可以看到照片链接,当我从用户配置文件上传它,它工作正常,但我无法显示它在我的模板django显示上传的照片模板

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> 

回答

0

在我的情况,因为我有related_name='user',我需要照片path.url意味着

{{user.user.photo.url}} 

,但如果我没有related_name =“用户”的路径将是

{{user.UserProfile.photo.url}} 
0

你确定你的文件已上传吗?

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

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

+0

是的,我从管理面板检查图像显示在这个链接http://127.0.0.1:8000/media/1_zmH5bU4.png PS:原始照片名称是1.png和'_zmH5bU4'是随机产生,如果我上传具有相同名称的另一张照片到目录 – LeLouch