django-private-views

Logiciel capture d'écran:
django-private-views
Détails logiciels:
Version: 1.0
Date de transfert: 15 Apr 15
Développeur: Julien Phalip
Licence: Gratuit
Popularité: 12

Rating: 5.0/5 (Total Votes: 1)

django-privé vues est une application Django qui fournit un modèle commun dans les sites Web, ce est quand quelques pages sont protégées et nécessitent une connexion pour être accessible. & nbsp; Le décorateurlogin_required vient souvent en pratique pour ces situations. Mais, un autre modèle qui est assez fréquent, ce est quand la plupart du site est protégé, avec seulement quelques exceptions de pages qui restent publique (par exemple, frontpage, page d'inscription, etc.). Dans ce cas, il peut être assez fastidieux pour décorer toutes les vues aveclogin_required, et il peut être facile d'oublier de décorer certains d'entre eux.
django-privé vues protège chaque vue, puis vous permet d'indiquer explicitement les points de vue devraient être publiques. Cela rend les choses plus facile et moins sujette aux erreurs.
Installation
Installez django-privé-vue depuis PyPI.
pip installer django-privé vues
Ajouter la privateviews middleware à vos paramètres:
MIDDLEWARE_CLASSES = (
& Nbsp; ...
& Nbsp; privateviews.middleware.LoginRequiredMiddleware
)
Déclarer les opinions du public
À ce stade, toutes vos vues, sauf settings.LOGIN_URL vous obligera à vous connecter. Donc, nous avons besoin maintenant de préciser les quelques points de vue qui devraient être publics. Il ya trois façons différentes à votre disposition: en utilisant un décorateur spéciale, énumérant les opinions du public, ou énumérant les chemins d'URL publiques.
L'utilisation d'un Décorateur
Utilisationlogin_not_required vous pouvez explicitement forcer, afin d'être public. Par exemple:
de privateviews.decorators importation login_not_required
login_not_required
def frontpage (demande):
& Nbsp; ...
Dans ce cas, le point de vue de frontpage sera affiché correctement même si vous & rsquo; re pas connecté.
Listing vues publiques
Si vous n & rsquo; t ont un accès direct à modifier une vue & rsquo; s code (par exemple, il & rsquo; s dans une application tierce), vous pouvez toujours forcer ce point de vue être public en l'ajoutant à la création de PUBLIC_VIEWS dans votre fichier de paramètres. Here & rsquo; s un exemple si vous & rsquo; re en utilisant le système de django.contrib.auth et l'application django-inscription:
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 ',
]
Listing URL chemins publics
La troisième et dernière est de spécifier directement les chemins d'URL (comme les expressions régulières) pour les pages que vous voulez être public. Cela peut être utile, par exemple, si une page est affichée par une vue générique. Il est également utile si vous servez vos fichiers multimédias statiquement par Django (uniquement recommandée en mode de développement). Pour cela, vous devez ajouter les PUBLIC_PATHS paramètre dans votre fichier de paramètres. Here & rsquo; s un exemple:
PUBLIC_PATHS = [
& Nbsp; '^% s'% MEDIA_URL,
& Nbsp; '^ / comptes / se inscrire / complète / $', # Utilise la vue générique 'direct_to_template'
]
Faire 404 vues privé
À ce stade non-utilisateurs connectés pourront toujours voir 404 réponses se ils visitent une url qui ne correspond pas à une vue. Ce ne est pas idéal car il ne devrait pas être possible de déterminer la structure du site sans être connecté.
Pour faire 404 vues privées à tout le monde sauf les utilisateurs connectés, ajouter ce qui suit comme la dernière ligne dans votre top URLconf de niveau:
urlpatterns = patterns ('',
& Nbsp; ...
& Nbsp; url (r '^', 'privateviews.views.private_404')
)

Exigences :

  • Python
  • Django

D'autres logiciels de développeur Julien Phalip

django-treemenus
django-treemenus

12 May 15

glamkit-adminboost
glamkit-adminboost

11 May 15

Commentaires à django-private-views

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!