Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengaturcaraan Django: Panduan Lengkap dari Teori kepada Amalan

Pengaturcaraan Django: Panduan Lengkap dari Teori kepada Amalan

WBOY
WBOYasal
2023-06-23 10:18:381100semak imbas

Django ialah rangka kerja aplikasi web sumber terbuka yang ditulis dalam bahasa Python. Sejak dikeluarkan, ia telah menjadi salah satu rangka kerja pilihan untuk membangunkan aplikasi web berkualiti tinggi.

Artikel ini akan memperkenalkan anda kepada asas Django, termasuk panduan lengkap dari teori hingga amalan. Kami akan merangkumi perkara berikut:

  1. Latar belakang dan sejarah pembangunan Django
  2. Pengetahuan asas Django
  3. Seni bina MVC Django dan seni bina MTV
  4. Penghalaan Django sistem dan pandangan
  5. Sistem templat Django
  6. Pemprosesan borang Django
  7. akses pangkalan data Django
  8. Sistem pengesahan pengguna Django
  9. Pelayan Web Django penempatan
  10. Latar belakang dan sejarah pembangunan Django

Django muncul pada tahun 2005 dan telah dicipta oleh sekumpulan editor dan pengaturcara kumpulan berita. Mereka mencipta rangka kerja untuk mengendalikan sejumlah besar kandungan web. Matlamat utama Django adalah untuk menyediakan rangka kerja mudah untuk membangunkan aplikasi web.

Rangka kerja program Django mempunyai nama yang terkenal: Rangka kerja Web untuk perfeksionis dengan tarikh akhir Ini kerana Django menekankan piawaian pembangunan seperti pantas, cekap, mudah, selamat dan berskala.

  1. Pengetahuan asas Django

Django adalah berdasarkan corak reka bentuk MVC, yang membahagikan program kepada tiga bahagian: Model, View dan Controller. Komponen ini membahagikan program kepada data, antara muka pengguna dan bahagian jambatan. Django memanggil MVC sebagai seni bina MTV dan memperkenalkan lapisan Templat.

Komponen teras Django termasuk:

  • Sistem penghalaan: digunakan untuk memetakan alamat URL ke paparan program
  • Sistem paparan: templat dipaparkan dalam pengguna bahagian hadapan antara muka Siri
  • Pemetaan hubungan objek ORM: digunakan untuk mengurus data dalam pangkalan data
  • Perisian Tengah: kelas perisian tengah yang menghantar permintaan dan menerima respons dengan melanjutkan
  1. Seni bina MVC dan seni bina MTV Django

Matlamat corak MVC adalah untuk membahagikan aplikasi kepada tiga komponen: Model, Lihat dan Pengawal. Model ialah bahagian data aplikasi. Ia mengandungi komponen data aplikasi. View adalah sebahagian daripada antara muka pengguna aplikasi. Ia bertanggungjawab untuk interaksi antara antara muka dan data. Pengawal ialah jambatan MVC. Ia menghubungkan Model dan View. Pengawal mengendalikan semua logik aplikasi dalam MVC.

Django memperkenalkan seni bina MTV. Dalam MTV, Model ialah bahagian pangkalan data yang menyimpan data. Lapisan Templat ialah bahagian View MTV. Dalam MTV, View ialah bahagian logik dan boleh ditulis menggunakan Python. Paparan bertindak balas kepada permintaan daripada URL tertentu dan termasuk semua logik untuk mendapatkan semula data daripada pangkalan data dan memasangnya ke dalam templat.

Contoh MTV mudah boleh dilihat sebagai templat yang mewakili senarai pelajar. Pangkalan data menyimpan maklumat tentang semua pelajar. Paparan mendapatkan semula data daripada pangkalan data dan menghantarnya ke dalam templat supaya pengguna boleh mengurus semua maklumat pelajar.

  1. Sistem penghalaan dan pandangan Django

Peta sistem penghalaan Django meminta alamat URL untuk melihat fungsi. Alamat URL ialah rentetan yang menunjukkan lokasi dan paparan halaman yang perlu dipaparkan oleh aplikasi.

Menggunakan sistem penghalaan Django, penghalaan kompleks boleh dikendalikan menggunakan sintaks ungkapan biasa standard atau paparan templat. Sebagai contoh, jenis laluan berikut boleh digunakan:

Contohnya, kita boleh memetakan URL /admin pada paparan dengan menambah yang berikut pada fail urls.py: admin_site.site.urls:

  from django.contrib import admin
  from django.conf.urls import url, include
   
  admin.autodiscover()
   
  urlpatterns = [
      url(r'^admin/', admin.site.urls),
  ]
  1. Sistem templat Django

Sistem templat Django membolehkan pembangun menggunakan templat untuk membina kod dalam tapak web dengan cekap. Enjin templat Django membolehkan templat ditukar sepenuhnya kepada kod HTML sebelum menulis logik dalam Python.

Beberapa konsep asas templat termasuk:

  • Pembolehubah templat: disertakan dengan kurungan kerinting berganda {{}}. Pembolehubah templat ialah pemegang tempat yang perlu digantikan dengan nilai sebenar semasa rendering.
  • Teg templat: disertakan dengan pendakap kerinting {% %}. Teg templat akan mengawal cara templat dipaparkan. Contohnya, kurungan {% if %} digunakan untuk menggunakan syarat dalam templat.
  • Penapis templat: Pengubah suai digunakan pada pembolehubah templat.
  1. Pemprosesan borang Django

Sistem pemprosesan borang Django ialah sebahagian daripada aplikasi web yang mengendalikan input dan output kepada pangkalan data. Django memerlukan pembangun untuk menentukan kelas borang, yang mentakrifkan cara borang dipaparkan pada halaman. Kelebihan ini ialah ia membolehkan pembangun memahami butiran khusus borang, meningkatkan keselamatan dan kebolehselenggaraan aplikasi.

Kelas utama untuk pemprosesan borang termasuk:

  • Borang: mentakrifkan setiap medan borang
  • ModelForm: secara automatik mencipta borang daripada model
  • FormView: Memproses borang dan templat paparan
  1. Akses pangkalan data Django

Django ORM ialah rangka kerja pemetaan hubungan objek lanjutan. ORM membenarkan pembangun menulis kelas model menggunakan Python dan memetakannya ke jadual pangkalan data. Django ORM menyediakan lapisan akses data yang membolehkan struktur data diterangkan melalui model.

ORM mempunyai dua aspek utama: definisi model dan manipulasi data. Definisi model menerangkan entiti dalam aplikasi dan mentakrifkan sifat untuk entiti tersebut. Manipulasi data ialah proses menukar antara entiti dan data yang disimpan dalam pangkalan data.

Ciri utama ORM termasuk:

  • Pythonic: menggunakan jenis data Python dan landskap sintaks
  • Model-centric: model setakat ini merupakan bahagian paling penting
  • DRY: definisi data dan manipulasi bersama
  • Pemalam: menyokong berbilang ORM dan pangkalan data
  • API pertanyaan yang meluas: termasuk pertanyaan dan sambungan yang kompleks
  1. Sistem pengesahan pengguna Django

Django mempunyai sistem pengesahan pengguna terbina dalam, yang merupakan cara standard untuk mengurus pengesahan pengguna dalam aplikasi web. Sistem pengesahan pengguna termasuk:

  • Pendaftaran nama pengguna dan kata laluan
  • Log masuk/log keluar
  • Pengesahan sisi komputer dan keselamatan sesi

Sistem pengesahan pengguna Django mempunyai bahagian belakang pengesahan terbina dalam berikut:

  • Pengguna
  • PasswordResetToken
  • EmailVerificationToken
Pelayan dan penggunaan Web Django

Dalam persekitaran pengeluaran, Django mengesyorkan menggunakan pelayan web matang seperti Apache dan nginx. Django juga menyediakan pelayan HTTP WSGI Python yang dipanggil Gunicorn, yang merupakan pelayan web ringan yang disepadukan dengan Django.

Kita boleh memulakan pelayan Gunicorn menggunakan arahan berikut:

gunicorn myproject.wsgi: application -w 2 -b: 8000

Django juga menyediakan alat yang dipanggil Fabric Deployment alatan. Dengan menggunakan Fabric, pembangun Django boleh menyediakan dan menggunakan aplikasi web Django dengan mudah.

Ringkasan

Django ialah rangka kerja aplikasi web yang cekap, mudah, pantas, berskala dan selamat. Ia mengguna pakai seni bina MTV, mempunyai sistem ORM terbina dalam dan sistem pengesahan pengguna, dan juga menyediakan sistem templat yang fleksibel dan pemprosesan borang yang berkuasa.

Panduan kami menyediakan asas dan memperkenalkan aspek utama pembangunan Django, termasuk sistem penghalaan, pengendalian paparan, akses pangkalan data, pemprosesan borang, pelayan web dan penggunaan. Harap artikel ini membantu anda memulakan pengaturcaraan Django.

Atas ialah kandungan terperinci Pengaturcaraan Django: Panduan Lengkap dari Teori kepada Amalan. 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