视图返回Django中其他应用的html

cnjp1d6j  于 2022-12-14  发布在  Go
关注(0)|答案(1)|浏览(152)

我想显示具有不同功能的数据..因此,有2个角色,其中管理员在表中有5列,而教师在表中只有4列。我已经更改了HTML,但当我返回教师页www.example.com上的classlist.html时views.py,它返回了管理员classlist.html,表中有5列。
下面是我的代码:
Urls.py (教师APP):

from django.urls import path
from teacherpage import views

urlpatterns = [
    path('', views.index, name='index'),
    path('classlist/', views.classlist, name='classlist'),
]

Views.py (教师APP):

def classlist(request):
    data = classModel.objects.all()
    classlist= {
        "classlist" : data
    }
    return render(request,'classlist.html', classlist)
b09cbbtk

b09cbbtk1#

如果不提供项目的实际代码,这会很复杂,但下面介绍了如何对两个不同的表使用相同的视图和相同的html文件。例如,如果用户的角色存储在User模型中,则可以在classlist.html中使用以下代码:

{% if user.is_authenticated %}
{% if user.role == 'admin' %}
    <table with five columns>
{% else %}
    <table with four columns>
{% endif %}
{% else %}
    no table for you
{% endif %}

字符串
仅供参考,您不需要修改任何视图或网址,使其工作。

相关问题