suchen
HeimBackend-EntwicklungPython-TutorialStellen Sie Ihr Django-Projekt mit Ngrok dem Internet zur Verfügung

Exposing Your Django Project to the Internet Using Ngrok

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.

Was ist 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.

Voraussetzungen

Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Ein Django-Projekt-Setup
  • Python 3.x installiert
  • Eine virtuelle Umgebung konfiguriert
  • Ein Ngrok-Konto (kostenlose Stufe funktioniert einwandfrei)

Schritt-für-Schritt-Einrichtung

1. Installieren Sie das Pyngrok-Paket

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

2. Konfigurieren Sie die Django-Einstellungen

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.

3. Starten Sie Ihren Django-Server

Im Stammverzeichnis Ihres Projekts:

python manage.py runserver

Hinweis: Windows-Benutzer können py manage.py runserver verwenden

4. Authentifizieren und starten Sie Ngrok

  • Melden Sie sich bei ngrok.com an
  • Kopieren Sie Ihr Authentifizierungstoken aus Ihrem Dashboard
  • Authentifizierung von ngrok in einem neuen Terminalfenster:
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

5. Testen Sie Ihr Setup

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

Andere Anwendungsfälle für ngrok

Ngrok dient nicht nur der Lösung von HTTPS-Problemen. Es ist wertvoll für:

  • Schnelle Internetpräsenz: Teilen Sie Ihre lokale Entwicklungsarbeit sofort
  • Webhook-Tests: Testen Sie Integrationen, die öffentliche URLs erfordern
  • Client-Vorschauen: Lassen Sie Clients eine Vorschau der Arbeit ohne Bereitstellung anzeigen
  • Geräteübergreifende Tests: Testen Sie Ihre App ganz einfach auf mehreren Geräten

Tipps zur Fehlerbehebung

  • Überprüfen Sie, ob Ihr Ngrok-Authentifizierungstoken richtig konfiguriert ist
  • Stellen Sie sicher, dass Ihr Django-Server läuft, bevor Sie ngrok starten
  • Überwachen Sie die Ngrok-Schnittstelle auf Anforderungsprotokolle und Fehler

Verwandte Ressourcen

Möchten Sie mehr über Webentwicklung erfahren? Schauen Sie sich meine anderen Artikel an:

  • Quality of Service (QoS) verstehen
  • Die Kunst, responsive Websites zu erstellen

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!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Was ist Python Switch Anweisung?Was ist Python Switch Anweisung?Apr 30, 2025 pm 02:08 PM

In dem Artikel wird die in Version 3.10 eingeführte "Match" -serklärung von Python erörtert, die als Äquivalent zum Wechseln von Aussagen in anderen Sprachen dient. Es verbessert die Code-Lesbarkeit und bietet Leistungsvorteile gegenüber herkömmlichen IF-ELIF-EL

Was sind Ausnahmegruppen in Python?Was sind Ausnahmegruppen in Python?Apr 30, 2025 pm 02:07 PM

Ausnahmegruppen in Python 3.11 ermöglichen die gleichzeitige Behandlung mehrerer Ausnahmen, wodurch die Fehlermanagement in gleichzeitigen Szenarien und komplexen Vorgängen verbessert wird.

Was sind Funktionsanmerkungen in Python?Was sind Funktionsanmerkungen in Python?Apr 30, 2025 pm 02:06 PM

Funktionsanmerkungen in Python Fügen Sie Metadaten zu Funktionen für Typprüfungen, Dokumentation und IDE -Unterstützung hinzu. Sie verbessern die Lesbarkeit, die Wartung der Code und die API -Entwicklung, die Datenwissenschaft und die Erstellung der Bibliothek von entscheidender Bedeutung.

Was sind Unit -Tests in Python?Was sind Unit -Tests in Python?Apr 30, 2025 pm 02:05 PM

In dem Artikel werden Unit -Tests in Python, deren Vorteile und wie man sie effektiv schreibt, erläutert. Es zeigt Werkzeuge wie Unittest und PyTest zum Testen.

Was sind Zugriffsspezifizierer in Python?Was sind Zugriffsspezifizierer in Python?Apr 30, 2025 pm 02:03 PM

In Artikel werden Zugriffsspezifizierer in Python erörtert, die benennende Konventionen verwenden, um die Sichtbarkeit von Klassenmitgliedern und nicht die strenge Durchsetzung anzuzeigen.

Was ist __init __ () in Python und wie spielt Selbst darin eine Rolle?Was ist __init __ () in Python und wie spielt Selbst darin eine Rolle?Apr 30, 2025 pm 02:02 PM

In Artikel wird die Methode von Python \ _ \ _ init \ _ \ _ () und die Rolle von Self bei der Initialisierung von Objektattributen erörtert. Andere Klassenmethoden und die Auswirkungen der Vererbung auf \ _ \ _ init \ _ \ _ () sind ebenfalls abgedeckt.

Was ist der Unterschied zwischen @ClassMethod, @StaticMethod und Instance -Methoden in Python?Was ist der Unterschied zwischen @ClassMethod, @StaticMethod und Instance -Methoden in Python?Apr 30, 2025 pm 02:01 PM

In dem Artikel werden die Unterschiede zwischen @ClassMethod, @StaticMethod und Instance -Methoden in Python erörtert und ihre Eigenschaften, Anwendungsfälle und Vorteile beschrieben. Es wird erläutert, wie Sie den richtigen Methodentyp basierend auf der erforderlichen Funktionalität und DA auswählen

Wie können Sie Elemente an ein Python -Array anhängen?Wie können Sie Elemente an ein Python -Array anhängen?Apr 30, 2025 am 12:19 AM

Inpython, youAppendElementStoAlistusedtheAppend () Methode.1) UseAppend () ForsingleElelements: my_list.append (4) .2) usextend () oder = formulnElements: my_list.extend (andere_list) ormy_list = [4,5,6] .3) useInSert () FORSPECIFIFICISPositionen: my_list.insert (1,5) .Beaware

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion