Я пишу сайт Django.Это в основном сайт только для чтения, за исключением администратора, который выполняет на нем некоторые действия по обновлению.Я бы хотел, чтобы администратор редактировал сайт через его интерфейс.
Для поддержки этого некоторые URL-адреса отображаются по-разному для администратора, а некоторые URL-адреса должны возвращать 404, если запрос не поступил от вошедшего в систему администратора..
Я бы предпочел не делать существование пользователя-администратора особенно очевидным для анонимных пользователей, поэтому 404 для страниц только для администратора, если пользователь еще не вошел в систему как администратор.
Мой дизайн для этого на данный момент:
На уровне сервера, иметь два имени хоста в качестве псевдонимов для одного и того же сайта Django:
- admin.example.com
- www.example.com
На уровне приложения Django для каждого представления только для администратора или для администратора оно отображается по-разному, проверьте, является ли имя хоста запроса admin
.Если это:
- , если запрос поступил от вошедшего в систему администратора, верните страницу со специфическим для администратора экраном
- , в противном случае верните 404
У вас есть URL-адрес, по которому администратор может войти вручную.
Это глупо?Мне не хватает более простого / лучшего способа сделать это?