视图在Django中从另一个应用返回html



我想展示一个具有不同特征的数据。所以,有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来使其工作。

相关内容

  • 没有找到相关文章

最新更新