因此,我有一堆带有如下网址的页面:
/ article / detail / 1
/ article / detail / 2
/ article / detail / 3
...
我想用密码保护其中的一些网址,受保护的网址将具有自己的密码,因此看起来像这样:
------- URL --------- 密码 --------
/ article / detail / 1 |密码1
/ article / detail / 2 | s3cret
/ article / detail / 3 |
这真的不需要那么安全,因为这里存储的信息并不那么重要。我将纯文本格式的“密码”存储在数据库中。理想情况下,我所希望的是,每当用户尝试访问这些URL之一时,如果没有密码,则用户将直接转到该页面,如果它具有密码,则将他们带到某个中间页面,可以在其中放置用这个密码。
最简单的方法是什么?如果需要的话,我可以在此处发布确切的代码,但是基本上所有这些页面都有一个views.py,看起来像:
class ArticleDetailView(LoginRequiredMixin, ListView):
template_name = 'cb_detail.html'
login_url = 'login'
def get_queryset(self):
return Data.getAllPosts()
def get_context_data(self, **kwargs):
# populate context
return context
因此,这里没有使用任何模型。 LoginReqiredMixin用于确保用户实际上已登录,但我基本上需要在某些URL上再添加一层。
编辑:实际上,我实际上不需要帮助来确定哪些需要密码。我基本上可以使用URL中也包含的pk或id并检查我的数据库,以查看是否需要密码,但需要帮助来设置此中间页面才能输入密码,然后再允许其查看内容。该中间页面也可以像弹出窗口一样简单。