2017-09-13 56 views
0

我的項目中有兩個應用程序。如何從一個應用程序訪問多個圖像的URL到Django的另一個應用程序

它們是:

博客應用

帳戶應用

accounts應用程序包含用戶配置文件,如圖片,生物,出生日期等,在博客應用程序的每個用戶都有自己的擁有blog頁面和每頁必須有comments所以任何用戶可以評論任何blog。在評論部分,它顯示username和他的唯一個人資料URL現在我的問題是我無法加載他們的個人資料圖像。 models.py

class comments(models.Model): 
    blogger= models.ForeignKey(blog,on_delete=models.CASCADE) 
    user = models.ForeignKey(User) 
    created = models.DateTimeField(auto_now_add=True) 
    comment = models.TextField() 
    def get_absolute_url(self): 
      return reverse('blog:comments',args = [ self.id]) 

views.py

commentz = comments.objects.filter(blogger= id).all().order_by('-created')[:10] 
for pic in commentz: 
    image = UserProfile.objects.filter(user = pic.user) 

我知道這是瘋狂的: -/

+0

你是如何服務於圖片? –

+0

圖像存儲在帳戶應用程序---> models.py - >圖像= models.ImageField(upload_to ='profile_image',空白=真) – Akash

+0

我想顯示用戶在博客頁面中評論的圖像 – Akash

回答

0

我的問題已解決。當我們將圖像從一個應用程序渲染到另一個應用程序時,我們需要使用絕對URL和超鏈接,我們必須調用模型名稱。在我的示例中,模型名稱爲UserProfile

<a href="{% url 'accounts:view_profile' username=c.user %}"><img src="{{ c.user.userprofile.image.url }}"></a>

{% if class_comments %} 
    {% for c in class_comments %} 
     <div class="row"> 
     <div class="col-lg-1 col-xs-6"> 
     <div class="thumbnail"> 
     <a href="{% url 'accounts:view_profile' username=c.user %}"><img class="img-responsive user-photo" src="{{ c.user.userprofile.image.url }}"></a> 
    {% endfor %} 
{% endif %} 
0

annotate可以幫助查找relational領域

from django.db.models import F 

# include image field in queryset 
commentz = comments.objects.annotate(image=F('user__image')).filter(blogger= id).all().order_by('-created')[:10] 

# Access image 
commentz[0].image 
相關問題