Итак, у меня есть несколько страниц с URL, которые выглядят следующим образом:
/ article / detail / 1
/ article / detail / 2
/ article / detail/ 3
...
Я хотел бы защитить паролем некоторые из этих URL-адресов, и те, которые защищены, будут иметь свои собственные пароли, поэтому он может выглядеть следующим образом:
------- URL --------- Пароль --------
/ article / detail / 1|пароль1
/ статья / деталь / 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.
РЕДАКТИРОВАТЬ: мне на самом деле не нужна помощь, чтобы определить, какие из них нуждаются в паролях.Я могу в основном использовать pk или id, который также есть в URL, и проверить свою БД, чтобы увидеть, требуется ли пароль, но мне нужна помощь в настройке этой промежуточной страницы для ввода пароля, прежде чем будет разрешено просматривать содержимое.Эта промежуточная страница также может быть простой, как всплывающее окно или что-то в этом роде.