У меня есть следующая функция просмотра:
def gettingstarted_info(request):
"""
First page of gettingstarted after Registration.
"""
if request.user.is_authenticated():
if request.user.get_profile().getting_started_boolean:
return redirect('/home/')
else:
user = request.user
else:
username = request.session.get('username', False)
if not username:
return redirect('/login')
else:
user = User.objects.get(email=username)
# the main part of the view function #
Я хотел бы преобразовать первую часть функции просмотра в @ декоратор, чтобы я мог получить что-то вроде -
@gettingstarted_dispatch
def getting_started_info(request):
# the main part of the view function
Я взглянул на документы по функции декоратора, но мне было немного трудно преобразовать эту функцию, чтобы я мог использовать ее в качестве @ декоратора. Декоратор должен отфильтровать посторонних лиц и вернуть переменную user
(обратите внимание, что это не то же самое, что request.user
). Как бы я это сделал? Спасибо.