Я играю с django и создал небольшое приложение, где пользователь может получить доступ к своей информации через URL http: /// localhost: 8000 / username / info / . Я хочу добавить возможность редактировать эту информацию через http: /// localhost: 8000 / username / info / edit / , но также хочу убедиться, что в данный момент вошел в систему пользователь (используя django.contrib. auth) может получить доступ только к его информации. Я сделал это, выполнив в представлении следующее (имя пользователя в аргументах представления захватывается из URL):
@login_required
def edit_info(request, username=''):
if request.user.username == username:
# allow accessing and editing the info..
else:
# redirect to some error page
Итак, очевидно, я не хочу, чтобы пользователь 'johnny' редактировал информацию, принадлежащую пользователю 'jimmy', просто указывая свой браузер на / jimmy / info / edit /. Вышесказанное работает, но меня беспокоит то, что я что-то здесь упускаю, что касается безопасности. Это правильный путь?
Спасибо.