Python Django-限制用户访问URL

Python Django-限制用户访问URL,python,django,django-templates,django-urls,Python,Django,Django Templates,Django Urls,我正在创建一个应用程序。它有许多字段来存储有关班级和学生的数据 url.py url(r'^class/(?p<title>[-\w]+)/(?p<id>[\d]+)/',views.list,name ='list'), url(r'^class/(?p[-\w]+)/(?p[\d]+)/,views.list,name='list'), 基本上,一个用户(教师)可以创建多个教室。每个教室都有一个标题,许多学生跟随在该课堂上 问题是: 每个教室都有唯一的url。例如

我正在创建一个应用程序。它有许多字段来存储有关班级和学生的数据

url.py

url(r'^class/(?p<title>[-\w]+)/(?p<id>[\d]+)/',views.list,name ='list'),
url(r'^class/(?p[-\w]+)/(?p[\d]+)/,views.list,name='list'),
基本上,一个
用户
(教师)可以创建多个
教室
。每个
教室
都有一个
标题
,许多
学生
跟随在该课堂上

问题是:

每个
教室
都有唯一的
url
。例如(mywebsite.com/science/88/)此链接只供以下学生访问,不供匿名用户访问。这是一个循环孔,如果任何不跟随的学生尝试像这样的随机
url
,他们可以看到页面(mywebsite.com/math/2500/)


如何限制学生访问他不关注的页面?

可以使用
userpassestimixin
实现此目的。基本上,编写一个视图类来实现
test\u func
函数。此函数可以访问
self
,因此您可以读取URL和用户。如果test_func返回
True
,则允许用户继续,否则将传递给访问控制(如果配置,可能会重定向到登录表单)。

显示查看代码please@Bear布朗:对不起,我的回复太晚了。我使用查询得到一个解决方案,它运行良好。谢谢你们的回复:)谢谢你们两位)