2010-09-19 2 views
3

Est-il possible de configurer la sortie du serveur de développement Django pour afficher l'adresse IP du client effectuant la requête?Configuration de la sortie du serveur de développement Django

+0

donc une ligne de sortie ressemblerait à ceci: [19/Sep/2010 11:49 : 46] 192.168.1.11 0 "GET /static/media/css/site.css HTTP/1.1" 304 0 – mitchf

+0

au lieu de cela: [19/Sep/2010 11:49:46] "GET /static/media/css/site.css HTTP /1.1 "304 0 – mitchf

Répondre

3

Ceci dans notre liste pour les "mods standard" aux nouvelles versions de Django. Pour Django 1.2.1, dans django/core/serveurs/basehttp.py, ligne 614, le changement:

msg = "[%s] %s\n" % (self.log_date_time_string(), format % args) 

à

msg = "[%s] %s %s\n" % (self.log_date_time_string(), 
         self.client_address[0], format % args) 
+0

Merci Peter! Je viens de l'ajouter à ma liste de mods standard Django aussi. Bummer nous devons modifier le code pour l'obtenir, mais comme le disent les développeurs de Django, ils font des frameworks, pas des serveurs. – mitchf

+0

D'autres "mods standards" que vous aimeriez partager? J'aimerais voir votre liste! – mitchf

+0

J'ai regardé à travers ce que nous avons et j'ai mis les plus susceptibles de vous être utiles sur PasteBin. http://pastebin.com/bjpS1mgg. En plus de ce que j'ai montré ci-dessus, il y a une nouvelle méthode, 'cache.get_or_eval()' qui simplifie la vérification/définition du cache, et une autre qui corrige la méthode de résolution de variable de modèle de sorte qu'une valeur simple, par ex. {{something}}, sera appelé si c'est, en fait, un callable(). Nous utilisons des fonctions au curry enveloppées autour d'appels de DB lourds et les passons dans le contexte. Les deux correctifs sont MonkeyPatches et seront désapprouvés par certains. Meh. –

2

D'autres réponses que j'ai moi avais suggéré:

  1. Tenir compte gunicorn comme serveur dev: http://gunicorn.org/ (orginNell)
  2. en utilisant l'héritage de Tenir compte de classe sur basehttp.py pour créer une nouvelle commande de gestion et éviter de jouer avec la co re code (orginNell)
  3. Utilisez un vrai serveur (Harro)
  4. écrire quelques middleware pour se connecter à un fichier (Harro)
  5. Envisager de remplacer le serveur intégré avec django-devserver: http://github.com/dcramer/django-devserver (mikeshantz)
  6. J'aime cherrypy avec django: http://www.cherrypy.org/ (John M)
  7. Cherokee est très bien aussi: http://www.cherokee-project.com/ (John M)
+0

Wow! Je pense que je sors plus de ta * réponse * que tu ne l'as probablement fait du mien. Merci! –

Questions connexes