首页 > 解决方案 > Django:如何在登录用户有权查看任何内容但用户不是管理员/超级用户时查看 HTML 模板中的所有注册用户信息

问题描述

我是 Django 新手: 我正在创建一个网站,我想在模板中向所有用户配置文件显示以登录用户,当登录用户单击表字段中可见的任何用户名时,与特定用户相关的信息将对登录用户 可见
..在 HTML 模板中..
所有注册用户都在我添加了配置文件视图链接的表中可见
***但在我的场景中,当我单击用户名时,我在其中添加了查看配置文件链接链接只显示登录用户信息 而不是点击的用户信息 ***

我的项目是电子商务
我的应用程序是:Indenter,登录,注销,购买者,注册,供应商。

- 电子商务。网址:

    from django.contrib import admin<br />
    from django.urls import path, include
    
        urlpatterns = [
            
            path('', include('Register.urls')),
            path('Login', include('Login.urls')),
            path('Logout', include('Logout.urls')),
            path('Purchaser', include('Purchaser.urls')),
            path('Intender', include('Intender.urls')),
            path('Supplier', include('Supplier.urls')),
        ]

- Ecommerce.Register.URLs:

    urlpatterns = [
       path('(?P<username>\w+)/profile_detail', views.profile_detail, name="profile_detail"),
    ]

- Ecommerce.Register.views.py :我在模板中调用此视图以查看用户信息。

def profile_detail(request, username):
    u = User.objects.get(username=username)
    user = request.user
    return render(request, 'profile_detail.html', {'user': user, 'user_url': u, })

tempaltes/ indenter_home.html 在表格中的这个模板中,所有用户都在 usernaem 字段中可见,我添加了查看特定用户的链接,但无法实现所需的输出

<tbody>
                        {% for filter in filter.qs %}
                        <tr>
                            <td>{{filter.id}}</td>
                            <td>
                                <a href="{% url 'profile_detail' user%}"
                                   class="btn btn-outline-secondary mr-4">{{filter.buyer_name}}</a>
                            </td>
                            <td>{{filter.item}}</td>
                        </tr>
                        {% endfor %}
                        </tbody>>

标签: djangodjango-modelsdjango-viewsdjango-formsdjango-templates

解决方案


推荐阅读