我创建了一个表单,允许您使用内置模块中内置的Djangos创建新站点。我为它设置了一个网址,视图和模板。一切都按预期工作。
成功创建网站后,用户将转到网址/welcome/
。但后来我意识到每个试图访问该URL的人都会看到欢迎内容。包括谷歌。那不是我想要的。
我想将此网址限制为当前会话,并在其他人尝试访问该网址时也为登录用户提供404页面。我查看了Djangos视图装饰器,但没有找到满足我特殊需求的装置。
这可能吗?
修改
澄清:
我想在实际创建网站后只显示/welcome/
。创建此站点的用户仅具有显示该页面的权限。对于试图显示页面的其他人,它将引发404(未找到)错误。
答案 0 :(得分:0)
我不完全确定您想要什么,但如果您想限制某个网站的观看次数,可以使用get_current_site()
。
current_site = get_current_site(request)
if not current_site.domain == 'foo.bar.com':
raise Http404
使用request.user
访问当前用户。
您可以在自己的视图装饰器中实现此检查,也可以在自定义Django中间件中实现。