django-private-views

Screenshot Software:
django-private-views
Szczegóły programowe:
Wersja: 1.0
Filmu: 15 Apr 15
Wywoływacz: Julien Phalip
Licencja: Wolny
Popularność: 12

Rating: 5.0/5 (Total Votes: 1)

django-prywatne-widok jest aplikacja Django, który stanowi wspólny wzór w witrynach jest, gdy kilka stron są chronione i wymagają logowania być dostępne. & nbsp;login_required dekorator często przydaje w takich sytuacjach. Ale, inny wzór, który jest dość powszechne jest, gdy większość z serwisu jest chroniona, z kilkoma wyjątkami, które pozostają stron publicznych (np FrontPage stronie rejestracji, itp). W tym przypadku, może to być bardzo uciążliwe do dekoracji wszystkich poglądów zlogin_required, a to może być łatwo zapomnieć ozdobić niektóre z nich.
django-prywatne-views chroni każdy widok, a następnie pozwala jednoznacznie stwierdzić, które poglądy powinny być jawne. To sprawia, że ​​rzeczy, zarówno łatwiejsze i mniej podatne na błędy.
instalacji
Zainstaluj django-prywatne-widoki z PyPI.
pip install-prywatne poglądy django
Dodaj middleware privateviews z ustawieniami:
MIDDLEWARE_CLASSES = (
& Nbsp; ...
& Nbsp; privateviews.middleware.LoginRequiredMiddleware
)
Deklarowanie widoki publiczne
W tym momencie wszystkie swoje poglądy wyjątkiem settings.LOGIN_URL będzie wymagać, aby zalogować się. Więc teraz musimy określić kilka poglądów, które powinny być publiczne. Istnieją trzy różne sposoby, do Państwa dyspozycji: za pomocą specjalnego dekorator, wymieniając publicznych widoki, albo sprzedaż ścieżki URL publicznych.
Korzystanie z Dekorator
Korzystanielogin_not_required można jawnie wymusić widok na jawne. Na przykład:
z privateviews.decorators importu login_not_required
login_not_required
frontpage def (wniosek):
& Nbsp; ...
W tym przypadku, widok frontpage będą wyświetlane poprawnie, nawet jeśli & rsquo; re nie zalogowany.
Listing widoki publiczne
Jeśli nie & rsquo; t mają bezpośredni dostęp do zmiany widoku & rsquo; s kod (np, to & rsquo; s w aplikacji innych firm), nadal można zmusić ten pogląd za publiczne poprzez dodanie go do ustawień PUBLIC_VIEWS w pliku ustawień. Tutaj & rsquo; s przykład jeśli & rsquo; re przy użyciu systemu django.contrib.auth i aplikacji django rejestracji:
PUBLIC_VIEWS = [
& Nbsp; "django.contrib.auth.views.login",
& Nbsp; "django.contrib.auth.views.password_reset_done",
& Nbsp; "django.contrib.auth.views.password_reset",
& Nbsp; "django.contrib.auth.views.password_reset_confirm",
& Nbsp; "django.contrib.auth.views.password_reset_complete",
& Nbsp; "registration.views.register",
& Nbsp; "registration.views.activate",
]
URL listingu drogi publiczne
Trzecim i ostatnim sposobem jest bezpośrednio określić ścieżki URL (jak wyrażenia regularne) do stron, które mają być publiczne. Może to być użyteczne, na przykład, jeżeli strona jest wygenerowana przez standardowe widzenia. Jest to również przydatne, jeśli służą pliki multimedialne statycznie poprzez Django (zalecane tylko w trybie rozwoju). Do tego trzeba dodać PUBLIC_PATHS ustawień w pliku ustawień. Tutaj & rsquo; s przykład:
PUBLIC_PATHS = [
& Nbsp; "^% s '% MEDIA_URL,
& Nbsp; "^ / konta / Zarejestruj / pełną / $ ',' # Używa" widok ogólny direct_to_template
]
Tworzenie 404 odsłon prywatne
W tym momencie nie zalogowani użytkownicy nadal będą mogli zobaczyć 404 odpowiedzi, jeśli odwiedzenia url, że nie mapować do widzenia. To nie jest idealna, ponieważ nie powinno być możliwe do określenia struktury witryny bez logowania.
Aby 404 widoki prywatne do wszystkich z wyjątkiem zalogowanych użytkowników, dodać następujące jako końcowy linii w swoim najwyższym poziomie URLconfa:
urlpatterns = patterns ('',
& Nbsp; ...
& Nbsp; url (r '^', 'privateviews.views.private_404 ")
)

Wymagania :

  • Python
  • Django

Inne programy z deweloperem Julien Phalip

django-treemenus
django-treemenus

12 May 15

glamkit-adminboost
glamkit-adminboost

11 May 15

Komentarze do django-private-views

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!