Скрытие сайта Django во время разработки - PullRequest
4 голосов
/ 22 июля 2010

Я разработал веб-сайт django на своем локальном компьютере, и сейчас самое время загрузить его на сервер.Мне бы хотелось, чтобы во время работы над ним его могли видеть только зарегистрированные пользователи.Я думал о

{% if is_logged_in %}
{% else %}
{% endif %}

структуре в моем шаблоне base.py, но не все мои представления возвращают контекст, поэтому он не всегда работает.

Есть ли простой способ без необходимостиизменить большую часть кода, чтобы скрыть все страницы?

Ответы [ 4 ]

4 голосов
/ 22 июля 2010

Для этого есть 2 разумных решения.

  1. Использование промежуточного программного обеспечения для запроса аутентификации (при необходимости я могу выложить пример в сети, но код должен быть тривиальным)
  2. Использованиеаутентификация в ваших веб-серверах.Таким образом, вы можете просто добавить пару IP-адресов и / или пользователей для доступа.В наши дни довольно просто связать вашу http-аутентификацию с Django, поэтому с помощью mod_wsgi и mod_python вы можете позволить Apache аутентифицировать своих пользователей через Django.
4 голосов
/ 22 июля 2010

Используйте django.contrib.auth.decorators.login_required.Это декоратор, который запретит пользователям просматривать что-либо, если они не вошли в систему. Или вы можете найти промежуточное ПО для этого: http://djangosnippets.org/snippets/1179/.

Промежуточное программное обеспечение будет лучше, потому что оно ненавязчиво и вы можете удалитьэто позже.

0 голосов
/ 23 июля 2010

или защитите весь каталог на сервере с помощью .htaccess, что также не позволяет Google найти сайт в разработке.

0 голосов
/ 22 июля 2010

Другой разумный способ сделать это - использовать клиентские сертификаты.Таким образом, вы также можете проверить детали, которые не требуют регистрации в системе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...