2015-02-06 78 views
0

我困在Django的組模塊中,任何人都可以告訴我如何解決它。 我的問題是現在我dispalying的登錄用戶,我想顯示組名和現在與username.and我的看法是這樣沿着該組中的配置文件,如何使用Django中的用戶獲取組名稱

def user(request): 
    context = {'user': request.user} 
    return render_to_response('username.html', context, 
           context_instance=RequestContext(request)) 
用戶名

現在我需要怎麼做才能增加達到我的要求

forms.py

class LoginForm(forms.Form): 
     username = forms.CharField(label=(u'User Name')) 
     password = forms.CharField(label=(u'Password'), 
           widget=forms.PasswordInput(render_value=False)) 

username.html是

{% if user.is_authenticated %} 
    <p>Welcome, {{ request.user.get_username }}. <br/> 
{% else %} 
    <p>Welcome, new user. Please log in.</p> 
{% endif %} 

我的繼承人model.py

class userprofile(models.Model): 
    u_name = models.CharField(max_length=200) 
    u_description = models.CharField(max_length=200) 
    u_url = models.CharField(max_length=200) 
    u_status = models.CharField(max_length=200) 
    owner = models.ForeignKey(Group) 

    def __str__(self):return self.u_name 
+1

如果您只需要訪問「組」字段。 'User.objects.get(id = 1).groups.all()' – AlvaroAV 2015-02-06 07:15:40

+0

@liarez,我需要在我的username.html中顯示用戶的組名。 – itsvc 2015-02-06 07:23:50

回答

1

用戶組列表,請爲user.groups相關經理:

def user(request): 
    context = {'user': request.user, 
       'groups': request.user.groups.all()} 
    return render_to_response('username.html', context, 
           context_instance=RequestContext(request)) 

要顯示該列表中的模板,你必須遍歷它:

<ul> 
{% for group in groups %} 
    <li> 
     <strong>{{ group.name }}<strong> - 
     {% for profile in group.userprofile_set.all %} 
      {{ profile.u_name }}{% if not forloop.last %},{% endif %} 
     {% endfor %} 
    </li> 
{% endfor %} 
</ul> 
+0

request.user.get_username這是我用過的顯示用戶名,用於顯示組名可以使用request.user.groups – itsvc 2015-02-06 07:19:14

+0

查看更新後的答案。 – catavaran 2015-02-06 07:24:22

+0

酷超級它的作品,,,謝謝 – itsvc 2015-02-06 07:26:20

相關問題