我想展示一个具有不同特征的数据。所以,有2个角色,其中admin在表上有5列。当老师的桌子上只有4列时。我已经改变了HTML,但当我返回classlist.html上的教师页面视图。它返回表中有5列的admin classlist.html。
下面是我的代码:url .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 (Teacher APP):
def classlist(request):
data = classModel.objects.all()
classlist= {
"classlist" : data
}
return render(request,'classlist.html', classlist)
没有项目的实际代码会很复杂,但这里有一个关于如何为两个不同的表使用相同视图和相同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 %}
仅供参考,您不需要修改任何视图或url来使其工作。