Déboguer sur l'écran d'erreur (navigateur) de Django. Permet l'utilisation de shells interactifs.
⇣
Utilisez les bibliothèques django-extensions
et Werkzeug
.
django-extensions
étend la fonctionnalité de manage.py
, et il existe de nombreuses autres commandes.
Werkzeug est une bibliothèque d'applications Web WSGI complète. Il a commencé comme une simple collection de divers utilitaires pour les applications WSGI et est devenu l'une des bibliothèques d'utilitaires WSGI les plus avancées.
https://werkzeug.palletsprojects.com/en/1.0.x/
C'est quelque chose qui rend WSGI facile à utiliser.
WSGI [1] n'est pas un serveur, un module Python, un framework, une API ou tout type de logiciel. Il s'agit simplement d'une spécification d'interface permettant au serveur et à l'application de communiquer.
http://wsgi.tutorial.codepoint.net/intro
Il semble qu'il y avait un but d'unifier l'interface parce que diverses normes de communication de Python sont sorties et qu'il y avait des normes de communication différentes.
Installer
$ pip install django-extensions Werkzeug
Ajoutez simplement à settings.py
pj_name/settings.py
.
.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_extensions', # <-Postscript
]
.
.
Par exemple, dans une vue qui n'affiche que la chaîne "test"
views.py
from django.shortcuts import render
from django.http import HttpResponse
def test(request):
message = 'test'
return HttpResponse(message)
Si vous avez mal tapé la variable message
comme message
⇣
views.py
from django.shortcuts import render
from django.http import HttpResponse
def test(request):
message = 'test'
return HttpResponse(mesage) # <-Faute de frappe
runserver
Tout d'abord, exécutez le serveur de run habituel.
$ python manage.py runserver
Accédez à http://127.0.0.1:8000/. Un tel écran d'erreur.
runserver_plus
Maintenant, exécutez runserver_plus. Changez simplement runserver en runserver_plus. Nous utiliserons le «code PIN du débogueur» plus tard.
$ python manage.py runserver_plus
...
* Debugger is active!
* Debugger PIN: 125-696-991 # <-cette
Cela ressemble à ceci avec runserver_plus.
Lorsque vous passez la souris sur la zone de code, l'icône du terminal apparaît. Cliquez dessus.
Entrez le code PIN du débogueur
Vous pourrez utiliser un shell interactif.
Merci d'avoir lu jusqu'au bout.
Recommended Posts