![](/img/trans.png)
[英]How to allow only specific users to connect to a WebsocketConsumer in Django channels?
[英]Django how to only allow specific users to see a page
我的模型.py
class Utilizador(AbstractBaseUser):
id = models.AutoField(db_column='ID', primary_key=True)
departamentoid = models.ForeignKey(Departamento, models.DO_NOTHING, db_column='DepartamentoID', blank=True, null=True)
email = models.CharField(db_column='Email', max_length=255, blank=True, null=True, unique=True)
nome = models.CharField(db_column='Nome', max_length=255, blank=True, null=True)
class Inscrio(models.Model):
id = models.AutoField(db_column='ID', primary_key=True)
utilizadorid = models.ForeignKey('Utilizador', models.DO_NOTHING, db_column='UtilizadorID')
participanteinfoid = models.ForeignKey('Participanteinfo', models.DO_NOTHING, db_column='ParticipanteinfoID')
我的观点.py
def ver_col(request, pk):
user = Utilizador.objects.get(id=request.user.id)
insc = Inscrio.objects.get(utilizadorid=request.user.id)
if request.user.is_authenticated:
if request.user.id==insc.utilizadorid.id:
return render(request, 'main/ver_col.html',
{
"insc": insc
})
所以,我希望用户看到这个“ver_col.html”,但他们只被允许输入与当前登录的用户相关联的 UtilizadorID(Inscrio 表)的页面(request.user.id 或 request.user )。
基本上我希望所有用户都能看到模板,但只能看到他们自己的数据
不确定你想要实现什么,但如果 pk 是用户模型的 pk 那么,
if request.user.id== pk
意味着当前登录的用户只查看自己的页面和一些其他用户的页面。 在您对用户进行身份验证后,这应该是 go。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.