Ist dieser Fehler bei der Entwicklung in Django jemals aufgetreten?
You're accessing the development server over HTTPS, but it only supports HTTP.
Wenn Sie es gewohnt sind, über http://localhost:8000 auf Ihren Entwicklungsserver zuzugreifen, kann dieser Fehler frustrierend sein – insbesondere nach der Aktualisierung von Firewall-Regeln, die HTTPS-Verbindungen erzwingen. Anstatt die Sicherheitseinstellungen zurückzusetzen, gibt es eine bessere Lösung: Ngrok.
Ngrok ist ein leistungsstarkes Tool, das lokale Anwendungen ohne komplexe Netzwerkkonfigurationen wie Portweiterleitung oder DNS-Einrichtung dem Internet zugänglich macht. Lesen Sie mehr über ngrok in der offiziellen Dokumentation.
Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben:
Bevor wir etwas installieren, aktivieren Sie Ihre virtuelle Umgebung und installieren Sie dann den Python-Wrapper für ngrok:
pip install pyngrok pip freeze > requirements.txt
Fügen Sie die Domäne von ngrok zu Ihrer Liste der zulässigen Hosts in der Datei „settings.py“ Ihres Projekts hinzu:
# settings.py ALLOWED_HOSTS = ['localhost', '127.0.0.1', '.ngrok-free.app']
Dadurch kann Django Anfragen von den dynamischen URLs von ngrok (*.ngrok-free.app) akzeptieren. Django generiert keine Fehler, auch wenn wir den zufälligen String-Teil der URL nicht vorhersagen können.
Im Stammverzeichnis Ihres Projekts:
python manage.py runserver
Hinweis: Windows-Benutzer können py manage.py runserver verwenden
ngrok config add-authtoken YOUR_TOKEN_HERE
Tunnel starten:
ngrok http 8000
Stellen Sie sicher, dass die Ngrok- und Django-Server-Ports identisch sind. Der Standardport ist normalerweise 8000.
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Account Your Name (Plan: Free) Version 3.19.0 Region United States (us) Latency Your Latency Web Interface An Unsecure HTTP address Forwarding https://[random-id].ngrok-free.app -> http://localhost:8000
Greifen Sie auf Ihre Django-Anwendung nur über die von ngrok in Ihrem Konsolenfenster bereitgestellte HTTPS-URL zu. Es wird etwa so aussehen:
https://[random-id].ngrok-free.app
Ngrok dient nicht nur der Lösung von HTTPS-Problemen. Es ist wertvoll für:
Möchten Sie mehr über Webentwicklung erfahren? Schauen Sie sich meine anderen Artikel an:
Vielen Dank für Ihre Zeit und viel Spaß beim Codieren! Teilen Sie Ihre Projekte im Kommentarbereich.
Das obige ist der detaillierte Inhalt vonStellen Sie Ihr Django-Projekt mit Ngrok dem Internet zur Verfügung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!