Студенты проекта Django будут автоматически добавлять новые файлы шаблонов и фиксировать права доступа - PullRequest
0 голосов
/ 01 февраля 2019

В настоящее время я создаю сайт Django для моей школы.На веб-сайте учащиеся будут иметь свои собственные веб-страницы, связанные с основным сайтом, к которым имеют доступ только они.

Поэтому мой вопрос - лучший способ подойти к этому, чтобы только люди, имеющие доступ, могли получить доступ к веб-странице студентов.Самая большая проблема в том, что у студентов будет разное количество файлов шаблонов.Моя цель - сделать это автоматически, чтобы им никогда не приходилось добавлять что-либо в исходный код при добавлении новых веб-страниц.У меня сейчас есть что-то, что использует группы и проверяет, есть ли у определенного ученика правильная группа, которая идет с ним, и использует диспетчер URL-адресов для автоматического выполнения этого.

Текущий URL:

 path('student_page/<str:html_file>', views.student_page, name='student_page'),

Просмотр файла:

def student_page(request, html_file):
if request.user.is_authenticated:
    if request.user.groups.filter(name__in=[group]).exists():
        return render(request, 'Students/%s.html'%(html_file), {})
    else:
        return redirect('accounts:login')
else:
    return redirect('accounts:login')
...