django-peavy est une application Django pour améliorer votre exploitation forestière d'application Django.
Installation
Commencez avec Django 1.3 ou supérieur; Peavy est destiné à être utilisé avec la nouvelle configuration de la première connexion disponible dans cette version.
Pour l'installer, il suffit de lancer:
pip installer django-peavy
Configuration
& Nbsp; peavy Ajouter à votre paramètre INSTALLED_APPS.
& Nbsp; Pour éviter toute interférence avec les opérations de base de données de votre application, les journaux de Peavy à sa propre base de données par défaut. Parce que des questions de Sud avec plusieurs bases de données, la meilleure façon de faire ce travail est de créer un deuxième strophe de base de données dans settings.DATABASES, qui reflète les paramètres par défaut sous un autre nom, par exemple:
& Nbsp; BASES DE DONNÉES = {
& Nbsp; 'par défaut': {
& Nbsp; «moteur»: «django.db.backends.postgresql_psycopg2 ',
& Nbsp; 'NOM': 'defaultDb',
& Nbsp; 'USER': 'dbuser',
& Nbsp; 'PASSWORD': 'dbpassword,
& Nbsp; »TEST_CHARSET»: «UTF8»
& Nbsp;},
& Nbsp; »peavy ': {
& Nbsp; «moteur»: «django.db.backends.postgresql_psycopg2 ',
& Nbsp; 'NOM': 'defaultDb',
& Nbsp; 'USER': 'dbuser',
& Nbsp; 'PASSWORD': 'dbpassword,
& Nbsp; »TEST_CHARSET»: «UTF8»
& Nbsp;}
& Nbsp;}
& Nbsp; Cela devrait obtenir vos tables créé / migré correctement, et permettre peavy de travailler avec sa propre connexion à la base de données. Quand il se engage entrées de journal, les opérations de votre application ne seront pas affectés.
& Nbsp; Si vous ne voulez mettre peavy dans une base véritablement distincte, vous voulez probablement renoncer migrations Sud pour elle, à cause de certains problèmes du Sud entretient avec plusieurs bases de données. Vous pouvez dire à Sud de l'ignorer en ajoutant ceci à vos paramètres:
& Nbsp; SOUTH_MIGRATION_MODULES = {
& Nbsp; »peavy ':" ignore ",
& Nbsp;}
& Nbsp; Dans ce cas, il vous suffit de créer les tables de Peavy avec syncdb.
& Nbsp; Ajouter le routeur de base de données de Peavy:
& Nbsp; DATABASE_ROUTERS = ['peavy.routers.DjangoDBRouter']
& Nbsp; Ajouter la configuration de l'exploitation forestière. Par exemple:
& Nbsp; LOGGING = {
& Nbsp; «version»: 1,
& Nbsp; »disable_existing_loggers ': Ce est vrai,
& nbsp; 'formateurs': {
& Nbsp; 'par défaut': {
& Nbsp; 'format': '[% (asctime) s% (nom) s% (levelName) s]% (message) s'
& Nbsp;},
& Nbsp; «de base»: {
«[Le% de la% de% (asctime) s% (UUID) (utilisateur) (nom) s% (de levelName) s]% (message) s ':' format '; & nbsp
& Nbsp;},
& Nbsp; «méta»: {
& Nbsp; 'format': «[le% de la% de% (asctime) s% (client_ip) (UUID) (utilisateur) s% (nom) s% (levelName) s]% (message) s '
& Nbsp;},
& Nbsp;},
& nbsp; 'filtres': {
& Nbsp; «de base»: {
& Nbsp; '()': 'peavy.filters.BasicFilter',
& Nbsp;},
& Nbsp; «méta»: {
& Nbsp; '()': 'peavy.filters.MetaFilter',
& Nbsp;}
& Nbsp;},
& nbsp; 'gestionnaires': {
& Nbsp; 'null': {
& Nbsp; «niveau»: «DEBUG»,
& Nbsp; «classe»: «django.utils.log.NullHandler ',
& Nbsp;},
& Nbsp; 'console': {
& Nbsp; «niveau»: «DEBUG»,
& Nbsp; «classe»: «logging.StreamHandler ',
& Nbsp; «filtres»: [«de base», «méta»],
& Nbsp; 'formateur': «de base»
& Nbsp;},
& Nbsp; »mail_admins ': {
& Nbsp; «niveau»: «erreur»,
& Nbsp; «classe»: «peavy.handlers.AdminEmailHandler ',
& Nbsp; «filtres»: [«de base», «méta»],
& Nbsp; 'formateur': 'meta'
& Nbsp;},
& Nbsp; »peavy ': {
& Nbsp; «niveau»: «INFO»,
& Nbsp; «classe»: «peavy.handlers.DjangoDBHandler ',
& Nbsp; «filtres»: [«de base», «méta»],
& Nbsp; 'formateur': 'meta'
& Nbsp;}
& Nbsp;},
& nbsp; »bûcherons ': {
& Nbsp; »django ': {
& Nbsp; »gestionnaires»: ['nuls'],
& Nbsp; 'propager': Ce est vrai,
& Nbsp; «niveau»: «INFO»,
& Nbsp;},
& Nbsp; »django.request ': {
& Nbsp; »gestionnaires»: ['Peavy »,« mail_admins'],
& Nbsp; «niveau»: «erreur»,
& Nbsp; "propager": Faux,
& Nbsp;},
& Nbsp; "myapp": {
& Nbsp; »gestionnaires»: ['console', 'peavy'],
& Nbsp; «niveau»: «DEBUG»,
& Nbsp;}
& Nbsp;}
& Nbsp;}
& Nbsp; peavy.middleware.RequestLoggingMiddleware Ajouter à MIDDLEWARE_CLASSES.
& Nbsp; Run manage.py migrer pour créer les tables de base de données, ou si vous êtes vraiment vous connectant à un deuxième base de données et avoir des migrations Sud handicapés pour Peavy, manage.py syncdb fonctionner.
Les deux dernières étapes peuvent être ignorées si vous ne voulez pas l'interface utilisateur.
& Nbsp; Si désiré, ajouter peavy.urls la configuration de votre URL pour obtenir l'interface utilisateur:
& Nbsp; urlpatterns + = patterns ('',
& Nbsp; (r '^ peavy /', include ('peavy.urls')),
& Nbsp;)
& Nbsp; Exécutez collectstatic manage.py de copier les médias Peavy en place.
Démo Application
Peavy est livré avec un exemple d'application qui montre comment se connecter avec elle, et vous permet de vérifier sur l'interface utilisateur. Pour l'exécuter:
& Nbsp; Créez un virtualenv pour lui, alors activer le virtualenv.
& Nbsp; Copiez l'exemple d'application à partir de votre copie de django-peavy dans le virtualenv:
& Nbsp; rsync -av peavy_demo / $ VIRTUAL_ENV / peavy_demo /
& Nbsp; Installez ses exigences avec pip:
& Nbsp; pip installer -r $ VIRTUAL_ENV / peavy_demo / requirements.txt
& Nbsp; Mettre en place la base de données PostgreSQL pour correspondre aux paramètres Django. Vous pouvez bien sûr utiliser un autre base de données, mais il doit prendre en charge les transactions concurrentes (si SQLite est out), et vous aurez à régler les paramètres et installer l'adaptateur vous-même.
& Nbsp; Ajustez votre PYTHONPATH pour ramasser l'application de démonstration:
& Nbsp; l'exportation PYTHONPATH = VIRTUAL_ENV: $ PYTHONPATH
& Nbsp; Définissez la variable d'environnement DJANGO_SETTINGS_MODULE:
& Nbsp; l'exportation DJANGO_SETTINGS_MODULE = peavy_demo.settings
& Nbsp; Run 'django-admin syncdb »pour remplir la base de données et de créer un super-utilisateur.
& Nbsp; Run 'django-admin migrer »pour créer les tables de Peavy.
& Nbsp; Exécutez le devserver:
runserver django-admin.py
& Nbsp; Accédez à http:. // Localhost: 8000 /, entrez une citation de film, puis vérifier l'enregistrement à l'adresse http: // localhost: 8000 / peavy /
Caractéristiques :
- Middleware pour marquer chaque demande avec un identifiant unique.
- filtres de journalisation pour capturer demande métadonnées comme utilisateur, IP distante, et en-têtes.
- Chariot de journalisation pour:
- Capture informations d'exception, y compris une copie de la page d'erreur du serveur Django, dans une base de données.
- Envoi de notifications d'erreur à admins sans révéler des informations sensibles comme le contenu de request.POST.
- Un routeur de base de données pour envoyer des enregistrements de journal à une base de données distincte.
- Une interface utilisateur simple pour naviguer sur les enregistrements du journal dans la base de données.
Exigences :
- Python
- Django
Commentaires non trouvées