如何在Django中使用用户获取组名 [英] how to get group name using User in django

查看:110
本文介绍了如何在Django中使用用户获取组名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我被困在Django的group模块中,任何人都可以告诉我如何解决它.我的问题是,现在我要使已登录用户的用户名显得苍白,我想显示组名和该用户名中该组中存在的配置文件.我的观点是这样的,

I am stuck in django's group module can any one tell me how to solve it. my problem is now i'm dispalying the username of the logged-in user, i want to display group-name and the profiles present in that group along with the username.and my views are like this,

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

现在我需要添加什么才能达到我的要求

now what do I need to add in order to achieve my requirement

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是

username.html is

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

这是我的模型.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

推荐答案

用户的组列表可用作与 user.groups 相关的管理员:

User's group list is available as the user.groups related manager:

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

要在模板中显示此列表,您必须对其进行循环:

To display this list in the template you have to loop over it:

<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>

这篇关于如何在Django中使用用户获取组名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆