Rumah >pembangunan bahagian belakang >Tutorial Python >Mendedahkan Projek Django Anda ke Internet Menggunakan Ngrok

Mendedahkan Projek Django Anda ke Internet Menggunakan Ngrok

Susan Sarandon
Susan Sarandonasal
2025-01-05 03:08:39676semak imbas

Exposing Your Django Project to the Internet Using Ngrok

Pernahkah anda menghadapi ralat ini semasa membangun di Django?

You're accessing the development server over HTTPS, but it only supports HTTP.

Jika anda biasa mengakses pelayan pembangunan anda melalui http://localhost:8000, ralat ini boleh mengecewakan - terutamanya selepas mengemas kini peraturan tembok api yang menguatkuasakan sambungan HTTPS. Daripada mengembalikan tetapan keselamatan, terdapat penyelesaian yang lebih baik: Ngrok.

Apa itu Ngrok?

Ngrok ialah alat berkuasa yang mendedahkan aplikasi tempatan kepada internet tanpa konfigurasi rangkaian yang kompleks seperti pemajuan port atau persediaan DNS. Baca lebih lanjut tentang ngrok dalam dokumentasi rasmi mereka.

Prasyarat

Sebelum kami bermula, pastikan anda mempunyai:

  • Persediaan projek Django
  • Python 3.x dipasang
  • Persekitaran maya dikonfigurasikan
  • Akaun ngrok (peringkat percuma berfungsi dengan baik)

Persediaan Langkah demi Langkah

1. Pasang Pakej pyngrok

Sebelum kami memasang apa-apa, aktifkan persekitaran maya anda kemudian pasang pembungkus Python untuk ngrok:

pip install pyngrok
pip freeze > requirements.txt

2. Konfigurasikan Tetapan Django

Tambahkan domain ngrok pada senarai hos anda yang dibenarkan dalam tetapan projek anda.py:

# settings.py
ALLOWED_HOSTS = ['localhost', '127.0.0.1', '.ngrok-free.app']

Ini membolehkan Django menerima permintaan daripada URL dinamik ngrok (*.ngrok-free.app). Django tidak akan menjana sebarang ralat walaupun kami tidak dapat meramalkan bahagian rentetan rawak URL.

3. Mulakan Pelayan Django Anda

Dalam direktori akar projek anda:

python manage.py runserver

Nota: Pengguna Windows boleh menggunakan py manage.py runserver

4. Sahkan dan Mulakan Ngrok

  • Daftar di ngrok.com
  • Salin token pengesahan anda dari papan pemuka anda
  • Dalam tetingkap terminal baharu, sahkan ngrok:
ngrok config add-authtoken YOUR_TOKEN_HERE

Mulakan terowong:

ngrok http 8000

Pastikan port pelayan ngrok dan Django adalah sama. Port lalai biasanya ialah 8000.

Anda sepatutnya melihat output yang serupa dengan:

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. Menguji Persediaan Anda

Akses aplikasi Django anda hanya menggunakan URL HTTPS yang disediakan oleh ngrok pada tetingkap konsol anda. Ia akan kelihatan serupa dengan yang berikut:

https://[random-id].ngrok-free.app

Kes Penggunaan Lain untuk ngrok

Ngrok bukan sahaja untuk menyelesaikan isu HTTPS. Ia berharga untuk:

  • Pendedahan Internet Pantas: Kongsi kerja pembangunan tempatan anda serta-merta
  • Ujian Webhook: Ujian integrasi yang memerlukan URL awam
  • Pratonton Pelanggan: Biarkan pelanggan pratonton berfungsi tanpa penempatan
  • Ujian Merentas Peranti: Uji apl anda pada berbilang peranti dengan mudah

Petua Penyelesaian Masalah

  • Periksa sama ada token pengesahan ngrok anda dikonfigurasikan dengan betul
  • Sahkan bahawa pelayan Django anda sedang berjalan sebelum memulakan ngrok
  • Pantau antara muka ngrok untuk log permintaan dan ralat

Sumber Berkaitan

Ingin mengetahui lebih lanjut tentang pembangunan web? Lihat artikel saya yang lain:

  • Memahami Kualiti Perkhidmatan (QoS)
  • Seni Membuat Laman Web Responsif

Terima kasih atas masa anda dan pengekodan selamat! Kongsi projek anda di bahagian komen.

Atas ialah kandungan terperinci Mendedahkan Projek Django Anda ke Internet Menggunakan Ngrok. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn