我想在我們的Django網站中使用Userena,但我似乎無法弄清楚如何使用模板標記來顯示面部照片。我曾試圖圖像標籤內吐出的網址如下:如何使用Django Usurena「面部照片」模板變量
<img src="{{ owner_profile.get_mugshot_url }}">
和
<img src="{{ profile.get_mugshot_url }}">
任何人有一些見解?
謝謝!
我想在我們的Django網站中使用Userena,但我似乎無法弄清楚如何使用模板標記來顯示面部照片。我曾試圖圖像標籤內吐出的網址如下:如何使用Django Usurena「面部照片」模板變量
<img src="{{ owner_profile.get_mugshot_url }}">
和
<img src="{{ profile.get_mugshot_url }}">
任何人有一些見解?
謝謝!
基於愛麗絲回答,只是把按照你的模板代碼:
<img src="{{ user.get_profile.get_mugshot_url }}" />
使用以下代碼在您的模板中顯示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 }}" />
它爲我工作。希望它也能爲你工作。謝謝。
試試這個:
{{ user.get_profile.get_mugshot_url }}
你如何在視圖中獲得**用戶**?從userena或django身份驗證後端?更清楚地解釋它們以更好地理解它。 – arulmr 2012-09-01 06:48:14
這是它爲我工作的方式:
{{ 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>
我不知道Userna是什麼,但除非你明確地傳遞'profile'到您的模板背景下,它不會是可用的。 如果你已經實現了標準的django'profile',你可以通過'user.get_profile.foo'來訪問它,假設'auth'' context_processor'已經被添加到'TEMPLATE_CONTEXT_PROCESSORS' – 2012-02-01 20:43:15
謝謝Yuji - 我沒有通過'profile'給模板...菜鳥錯誤,我知道;)謝謝。 – 2012-02-01 22:55:58
它是Django-Userena – darren 2012-02-02 07:40:33