Как я могу дать пользователю 1 раз разрешение на доступ к странице
Как я могу дать пользователю 1 раз разрешение на доступ к странице (например, к странице экзамена). Есть одна проблема. Когда я изменяю размер страницы, она должна быть перезагружена. Также, когда пользователь переходит на другую страницу, он не может вернуться на экзаменационную страницу, например, с помощью кнопки назад или попытаться вернуться по url. как страница -> b страница x- a страница
Ваш вопрос действительно слишком широкий и не содержит кода и другой конкретики, чтобы можно было дать особенно полезный ответ - смотрите как спросить.
Однако, чтобы подсказать вам, если у вас есть определенная модель (например, экзамен, в вашем случае), то я бы создал поле "многие ко многим", которое отслеживает, какие пользователи заходили на страницу.
class YourExamModel(models.Model)
...
viewed_by = models.ManyToManyField(User, ...
Затем вы можете использовать это поле, чтобы определить, заходил ли пользователь на эту страницу. Если да, перенаправьте его в другое место (или покажите определенное сообщение), в противном случае отобразите страницу в обычном режиме.
def your_view(request):
exam = YourExamModel.objects.get(...
if request.user in exam.viewed_by.all():
return redirect('go-somewhere-else')
...
# track that the user has accessed the exam
exam.viewed_by.add(request.user)
return render(request, 'exam.html', context)
По поводу того, как не позволить пользователю вернуться на страницу назад, вот похожий вопрос, который может вам помочь.