2012-02-01 25 views
2

我想在我們的Django網站中使用Userena,但我似乎無法弄清楚如何使用模板標記來顯示面部照片。我曾試圖圖像標籤內吐出的網址如下:如何使用Django Usurena「面部照片」模板變量

<img src="{{ owner_profile.get_mugshot_url }}"> 

<img src="{{ profile.get_mugshot_url }}"> 

任何人有一些見解?

謝謝!

+0

我不知道Userna是什麼,但除非你明確地傳遞'profile'到您的模板背景下,它不會是可用的。 如果你已經實現了標準的django'profile',你可以通過'user.get_profile.foo'來訪問它,假設'auth'' context_processor'已經被添加到'TEMPLATE_CONTEXT_PROCESSORS' – 2012-02-01 20:43:15

+0

謝謝Yuji - 我沒有通過'profile'給模板...菜鳥錯誤,我知道;)謝謝。 – 2012-02-01 22:55:58

+0

它是Django-Userena – darren 2012-02-02 07:40:33

回答

3

基於愛麗絲回答,只是把按照你的模板代碼:

<img src="{{ user.get_profile.get_mugshot_url }}" /> 
1

使用以下代碼在您的模板中顯示Userena配置文件圖像(mugshot)。使用適當的用戶名來過濾所需的用戶。

views.py

from django.shortcuts import get_object_or_404 
    from django.contrib.auth.models import User 

    def my_view(request): 
     profile = get_object_or_404(User, username__iexact=username).get_profile() 
     return render_to_response('template.html', locals(), context_instance=RequestContext(request)) 

在這裏,我已經使這個變量 「配置文件」 的模板 「template.html」。在模板中包含以下代碼以顯示mugshot圖像。

template.html

<img src="{{ profile.get_mugshot_url }}" /> 

它爲我工作。希望它也能爲你工作。謝謝。

0

試試這個:

{{ user.get_profile.get_mugshot_url }} 
+1

你如何在視圖中獲得**用戶**?從userena或django身份驗證後端?更清楚地解釋它們以更好地理解它。 – arulmr 2012-09-01 06:48:14

0

這是它爲我工作的方式:

{{ user.get_profile.get_mugshot_url }}

但請確保您使用render而不是render_to_response爲每一個你中拉的網頁(例如:views.py):

from django.shortcuts import render

return render(request, 'sometemplate.html', {"name": "some_var"},)

我是這樣做的,在面部照片拉動的導航欄下拉列表(例如:sometemplate.html):

<ul class="nav pull-right"> 
    {% if user.is_authenticated %} 
     <li class="dropdown"> 
      <a href="#" class="dropdown-toggle user-dropdown" data-toggle="dropdown"> 
      <img class="user-thumbnail img-circle" src="{{ user.get_profile.get_mugshot_url }}" alt="" /> 
      Hi, {{ user.username }} 
      <b class="caret"></b></a> 
      <ul class="dropdown-menu"> 
       <li><a href="{% url 'userena_profile_detail' user.username %}"><i class="icon-wrench"></i> Profile</a></li> 
       <li class="divider"></li> 
       <li><a href="/accounts/signout"><i class="icon-off"></i> Log Out</a></li> 
      </ul> 
     </li> 
    {% else %} 
     <li><a href="/accounts/signin">Log in</a></li> 
    {% endif %} 
</ul> 
相關問題