Mengungkap Sihir Django

Diterbitkan: 2022-03-10
Ringkasan cepat Dalam artikel ini, kita akan melihat secara mendalam apa yang Django bawa ke tabel dengan memahami apa yang dilakukan file dan folder yang dihasilkan, ini akan memberi kita pemahaman yang lebih baik tentang kerangka kerja Django.

Menurut dokumentasi resmi,

Django adalah kerangka kerja Web Python tingkat tinggi yang mendorong pengembangan cepat dan desain pragmatis yang bersih. Dibangun oleh pengembang berpengalaman, ini menangani banyak kerumitan pengembangan Web, sehingga Anda dapat fokus pada penulisan aplikasi Anda tanpa perlu menemukan kembali roda. Ini gratis dan open source.

— DjangoProject.com

Ini adalah salah satu kerangka kerja populer Python untuk membangun aplikasi web dan paling disukai karena skalabilitasnya dalam membuat boilerplate dengan konfigurasi dan file yang ditetapkan. Ini membungkus seluruh tujuan Django untuk pengembang;

"...membangun aplikasi hebat dalam waktu singkat dan tidak terlalu mengkhawatirkan pengaturan dasar."

Ada konfigurasi dasar, file, dan gaya yang melintasi semua aplikasi web, apa pun yang Anda buat. Saat menggunakan Django, ini dihasilkan untuk Anda secara otomatis saat Anda menjalankan perintah tertentu pada titik berbeda dalam siklus pengembangan aplikasi Anda. Dengan ini, Anda akan memiliki cukup waktu untuk fokus pada aspek inti dari pengembangan aplikasi Anda sementara Django menangani yang lain untuk Anda.

Ini berarti bahwa ada banyak hal yang terjadi di bawah tenda. Untuk seseorang yang tidak memiliki pemahaman penuh tentang bagian yang bergerak, ini bisa sangat melelahkan. Dalam artikel ini kita akan belajar tentang hal berikut:

  • Pemasangan Django
  • Perintah startproject dan startapp
  • File konfigurasi Django yang meliputi;
    • setting.py
    • urls.py
    • kelola.py
  • Tata Letak Model
  • Rute

Kita akan belajar bagaimana semua ini cocok bersama dan peran yang mereka mainkan. Penting untuk diketahui bahwa tidak mungkin untuk melihat pada segala sesuatu yang terjadi di dalam Django. Untuk kasus di luar cakupan tutorial ini, akan ada tautan untuk mengarahkan Anda ke sumber daya yang akan membantu.

Untuk tujuan pembelajaran, kami akan membangun platform e-commerce. Ini bukan situs e-commerce yang lengkap, aplikasi kita hanya akan memiliki dua fitur dasar; membuat produk dan membuat pesanan dari pandangan admin.

Artikel ini akan memandu Anda dalam memahami perintah, file dan dasar-dasar Django yang dibuat sebelumnya. Ini ditargetkan pada pengembang yang telah menggunakan Django atau berniat menggunakannya dan ingin mengetahui apa yang terjadi di balik tenda. Meskipun tidak wajib bahwa Anda harus menggunakan Django, memiliki pengalaman dengan dasar-dasar Django sebelum melanjutkan dengan artikel ini akan memberi Anda keuntungan. Anda harus memiliki pengetahuan tentang Python untuk sepenuhnya memahami apa yang akan dibahas dalam bagian ini.

Lebih banyak setelah melompat! Lanjutkan membaca di bawah ini

Memasang Django

Jika Anda belum menginstal Django, berikut adalah langkah-langkah untuk melakukannya.

Pertama, buat lingkungan virtual, bernama djangodev . Anda memerlukan ini untuk mengisolasi ruang kerja Django Anda dan paket-paket dependennya.

 python3 -m venv ~/.virtualenvs/djangodev

Sekarang untuk masuk ke lingkungan virtual Anda, Anda harus mengaktifkannya;

 source ~/.virtualenvs/djangodev/bin/activate

Jika Anda mendapatkan kesalahan yang berjalan dengan source , Anda dapat menggunakan perintah alternatif ini,

 . ~/.virtualenvs/djangodev/bin/activate

Untuk pengguna Windows, gunakan ini sebagai gantinya,

 ...\> %HOMEPATH%\.virtualenvs\djangodev\Scripts\activate.bat

Catatan: Anda perlu mengaktifkan lingkungan virtual kapan saja Anda ingin menggunakan Django.

Sekarang Anda berada di env virtual Anda, instal Django:

 python -m pip install Django

Untuk memeriksa apakah Django telah diinstal dengan benar, jalankan;

 python -m django --version

Shakaboom! Sekarang Anda siap untuk sihir, siapkan tongkat Anda!

Metode membuat file dan folder saat bepergian mungkin sederhana dan mudah. Namun, itu tidak ideal ketika Anda harus membuat proyek menengah atau besar dan tenggat waktu yang harus diselesaikan. Kami selalu memiliki tenggat waktu untuk dikalahkan, bahkan untuk proyek pribadi.

Mengikuti metode ini saat membuat proyek besar baru, Anda harus membuat banyak file dan folder dan membuat beberapa pengaturan, yang dapat menyebabkan pembuatan bug yang dapat dihindari dan banyak waktu yang terbuang. perintah startproject dan startapp yang tersedia bagi kita melalui Django bertujuan untuk memecahkan masalah ini. Kedua perintah ini membuat file, folder, dan melakukan banyak konfigurasi untuk Anda.

Mari kita mulai dengan membuat aplikasi baru menggunakan perintah startproject .

Perancah Sebuah Aplikasi

Kami akan membuat aplikasi kami dan melihat file yang dihasilkan, serta beberapa perintah yang akan kami gunakan. Jalankan perintah ini di terminal Anda untuk memulai;

 django-admin startproject ecommerce_site

Saat memasang Django, django-admin ditambahkan ke jalur Anda untuk memberikannya akses untuk melakukan tindakannya. Ini adalah utilitas baris perintah Django untuk tanggung jawab administratif. Pelajari lebih lanjut penggunaan django-admin di sini; itu sedikit di luar cakupan artikel ini.

startproject adalah perintah Django yang membantu menghasilkan proyek . Di sini kami memberikannya nama proyek kami ecommerce_site . Kemudian dilanjutkan dengan membuat proyek di direktori yang disebut ecommerce_site . Direktori akan terlihat seperti ini,

menunjukkan direktori setelah startproject.
Menampilkan folder setelah menjalankan startproject. (Pratinjau besar)

Kita harus menavigasi ke direktori yang baru dibuat dan menjalankan perintah untuk menghasilkan aplikasi .

 cd ecommerce_site python manage.py startapp trading

startapp adalah perintah yang dijalankan oleh manage.py di direktori proyek, itu membuat banyak file, dan folder bernama menggunakan nama yang ditentukan dalam perintah, dalam hal ini, yang ditentukan adalah trading . Folder aplikasi terdiri dari file sederhana yang diperlukan untuk membuat fitur aplikasi. Sekarang direktori Anda akan terlihat seperti ini:

menunjukkan direktori setelah startapp.
Menampilkan folder setelah menjalankan startapp. (Pratinjau besar)

Jika Anda bertanya-tanya perbedaan antara proyek dan aplikasi. Sebuah proyek adalah aplikasi web Django, dapat terdiri dari satu atau lebih aplikasi. Ini adalah folder yang menyimpan manage.py dan modul lain yang menyertakan settings.py dan file lainnya. Aplikasi adalah paket python yang melakukan fitur tertentu, termasuk file seperti models.py , direktori migrasi , dan lainnya. Anda dapat melihat jawaban ini di Stack Overflow untuk informasi lebih lanjut.

startproject akan membuat direktori proyek utama, sedangkan startapp akan membuat direktori app. Keduanya juga sudah mewariskan nama untuk digunakan secara turun temurun. startproject adalah perintah pertama yang dijalankan saat membuat proyek baru, sedangkan startapp dijalankan di dalam direktori proyek baru.

Tata letak saat ini adalah pemetaan hebat yang dapat Anda gunakan untuk aplikasi apa pun yang Anda bangun. Ini scalable dan terdiri dari file yang Anda perlukan. Ada peluang untuk membuat, mengganti nama, mengedit, dan memindahkan file di dalam proyek.

Konfigurasi Django

Django menyediakan pengaturan dan konfigurasi yang berbeda untuk Anda, setelah menjalankan dua perintah dalam file yang berbeda, mari kita jalankan melalui file yang dihasilkan untuk mempelajari apa yang masing-masing lakukan.

settings.py

Sebagian besar aplikasi web memerlukan konfigurasi seperti; otentikasi untuk memverifikasi pengguna, izin untuk mengizinkan pengguna tertentu dengan kemampuan tertentu dan menetapkan standar keamanan. Semua ini diperlukan untuk memberikan pengalaman terbaik yang dibutuhkan pengguna Anda. Ini akan memakan waktu lama bagi Anda sebagai pengembang untuk mulai menggulirkan masing-masing ini sendiri, untuk setiap aplikasi yang Anda kerjakan.

Django menyediakan Anda dengan konfigurasi yang diperlukan ini dan lebih banyak lagi — sehingga Anda dapat memilih yang Anda inginkan dan menghubungkannya. Ini dilakukan di settings.py , sudah ada pengaturan yang dibuat untuk menyediakan fungsionalitas dasar bagi Anda.

Ketika Django mencoba menjalankan proyek, ada variabel tertentu yang dicarinya. settings.py adalah file yang menyimpan variabel-variabel yang mengarah ke file atau informasi lain. Django diarahkan ke file ini dari file manage.py dan mengambil informasi atau memuat file lain yang dibawanya dari sini.

Konfigurasi ini meliputi:

  • DEBUG
    Fungsionalitas DEBUG disetel ke True untuk mengaktifkan pembacaan kesalahan dan kode debug dalam pengembangan, fungsi ini harus disetel ke False selama produksi (yaitu saat Anda menerapkan). Pengaturan ini memungkinkan Anda untuk dapat men-debug kode Anda lebih baik dengan bantuan Django ketika ia mencoba menjalankan kode Anda.
  • INSTALLED_APPS
    Ini adalah daftar semua aplikasi yang menjalankan fitur tertentu di Django. Muncul dengan beberapa aplikasi default seperti 'django.contrib.auth' yang digunakan untuk otentikasi pengguna, django.contrib.admin' untuk fungsionalitas admin, dan 'django.contrib.messages' diperlukan dalam mengirimkan pemberitahuan atau info kepada pengguna. Aplikasi lain yang Anda buat menggunakan perintah startapp harus ada di sini sebelum dapat dijalankan oleh Django.
  • MIDDLEWARE adalah kerangka kerja ringan untuk memproses masukan dan keluaran melalui permintaan dan tanggapan Django. Setiap middleware melakukan fungsi tertentu dengan aplikasi, seperti 'django.contrib.auth.middleware.AuthenticationMiddleware' bekerja dengan 'django.contrib.sessions' untuk mengaitkan pengguna dengan permintaan. Anda harus memeriksa fitur lebih lanjut dari setiap middleware di dokumen.
  • ROOT_URLCONF adalah variabel ke jalur di mana Django mencari urlpatterns Anda saat permintaan diteruskan ke aplikasi Django Anda. Kapanpun permintaan dibuat dalam aplikasi Django, Django mencari variabel ini dan memuat file utama dan loop urlpatterns daftar pola-url dalam mencari jalur yang cocok.
  • TEMPLATES adalah pengaturan untuk memungkinkan rendering file HTML untuk mewakili tampilan. Ini berkomunikasi dengan aplikasi permintaan, autentikasi, dan pesan. Nilai 'BACKEND' dan 'APP_DIRS' disetel ke True memungkinkan Django untuk mencari file HTML di dalam folder /templates . 'context_processors' di OPTIONS adalah callable , yang menerima permintaan sebagai argumen dan menggabungkannya dengan konteks saat template dirender, callable ini berfungsi untuk membantu proses debug, autentikasi, dan penanganan permintaan secara umum.
  • WSGI_APPLICATION adalah jalur yang mengarah ke variabel application dalam file wsgi.py
  • DATABASE adalah kamus yang menyimpan akses ke database eksternal (atau internal seperti dalam kasus sqlite default) seperti PostgresSQL, MySQL dan MongoDB. Berikut adalah contoh database Postgres yang akan saya gunakan sebagai contoh:
 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'db_name', 'USER': 'db_user', 'PASSWORD': 'db_password', 'HOST': 'localhost', 'PORT': '', } }

Anda dapat memutuskan untuk menggunakan database sqlite default, ini tidak berfungsi dengan baik untuk produksi. Anda dapat mengatur database Postgres seperti di atas, Anda harus membuat database terlebih dahulu dan memberikan pengguna, kata sandi dengan izin menulis ke database.

Catatan : Untuk tujuan tutorial ini, Anda sudah dapat menggunakan set database sqlite default. Di atas adalah demonstrasi tentang bagaimana Anda dapat mengatur koneksi database SQL dan NO-SQL di Django.

  • AUTH_PASSWORD_VALIDATORS ini adalah fungsi yang dipanggil untuk validasi kata sandi. Mereka dipanggil saat membuat catatan pengguna (dan juga admin), mengatur ulang, dan mengubah kata sandi. Anda dapat mempelajari lebih lanjut tentang mereka dari dokumentasi resmi.

Dokumentasi lebih lanjut tentang pengaturan dapat ditemukan di sini.

manage.py

Sebagian besar proyek web memerlukan titik masuk tempat perintah dimulai. Titik masuk yang bertindak sebagai pintu gerbang ke dalam aplikasi. Dalam setiap proyek Django, biasanya file manage.py .

File ini diperlukan sebagai titik awal dalam aplikasi Anda. Dari sini, semua perintah dijalankan dan semuanya dimulai di sini.

manage.py melakukan fungsi yang sama dengan Django-admin. Ia juga memberitahu Django lokasi untuk konfigurasi yang Anda miliki dalam aplikasi Anda. Ini diatur secara default dan tidak perlu diubah.

Ini menggunakan fungsi def main() untuk menangani modul pengaturan default ke file settings.py kami. Ia mencoba mengimpor fungsi eksekusi, dan jika mengalami kesalahan, ia melempar ImportError . Jika tidak, dibutuhkan argumen apa pun yang dilewatkan oleh sys.argv dari baris perintah dan dijalankan.

sys.argv adalah daftar yang menerima perintah yang diteruskan melalui terminal. Saat kita menjalankan python manage.py runserver di baris perintah, sys.argv disetel ke ["manage.py", "runserver"] dan ini diteruskan ke fungsi execute() .

Argumen seperti python manage.py startapp trading atau python manage.py makemigrations diatur ke [ "manage.py", "startapp", "trading"] dan ["manage.py", "makemigrations"] masing-masing untuk dieksekusi.

Pernyataan if diatur untuk dijalankan jika perintah yang diberikan diatur ke manage.py .

Selain menjalankan fungsi django-admin , Anda akan menggunakannya dalam menjalankan server, menangani migrasi, dan perintah lain yang akan digunakan proyek Anda. Anda juga akan membutuhkannya saat menerapkan, menguji, dan men-debug proyek Anda.

Tata Letak Model

Django menyediakan tata letak pemodelan sederhana untuk Anda. Anda mengonfigurasi model Anda di file models.py di direktori trading . Kelas Anda (atau model) adalah tata letak yang akan diikuti oleh tabel database Anda.

Anda mendefinisikan kelas Anda berdasarkan tipe data yang ingin Anda dapatkan dari pengguna (atau admin) untuk setiap tabel. Model kami membuat file migrasi yang berfungsi dengan variabel DATABASE di settings.py .

Mari kita buat dua model yang kita perlukan, untuk produk dan pesanan:

 from django.db import models class Product(models.Model): name = models.CharField(max_length=50) image = models.ImageField(upload_to='products', default='python.png') price = models.IntegerField() description = models.TextField() def __str__(self): return self.name class Order(models.Model): product = models.ForeignKey(Product, on_delete=models.CASCADE) quantity = models.IntegerField() date = models.DateField(auto_now_add=True) user = models.CharField(max_length=50) def __str__(self): return self.user

Model produk memiliki kolom nama, harga, deskripsi, dan gambar (yang ketika disimpan akan diunggah ke folder products . Ini dibuat jika foldernya tidak ada). order memiliki product (ditautkan ke tabel products ), jumlah, tanggal, dan kolom pengguna.

Dengan informasi ini, Django membuat skema basis data untuk aplikasi. Juga, buat API akses database Python untuk mengakses objek Produk dan Pesanan. Django memiliki alat migrasi bawaan sehingga Anda tidak perlu menggunakan paket eksternal untuk migrasi.

Langkah selanjutnya adalah menjalankan perintah migrasi dan melakukan migrasi ke database. Tapi sebelum kita melakukannya, kita harus mendaftarkan trading sebagai aplikasi di direktori proyek kita.

Pertama, kita harus mengonfigurasi direktori perdagangan sebagai aplikasi di Django. Django telah melakukannya untuk Anda di file app.py File ini mendaftarkan trading sebagai aplikasi dan akan digunakan lebih lanjut di file settings.py .

Sekarang, di settings.py tambahkan trading di INSTALLED_APP . Seharusnya terlihat seperti ini:

 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'trading.apps.TradingConf', ]

Di terminal, jalankan:

 $ python manage.py makemigrations trading $ python manage.py migrate

Catatan: Lingkungan virtual Anda harus diaktifkan dan Anda harus berada di dalam direktori proyek.

python manage.py makemigrations trading mencatat perubahan yang dibuat di modul perdagangan dan membuat file di folder migration perubahan di models.py dan python manage.py migrate kemudian memperbarui perubahan.

Anda dapat menemukan file migrasi yang dihasilkan dari perintah python manage.py makemigrations trading di direktori migration bernama 0001_initial.py . Anda dapat melihat kelas dan kolom sebagai perintah untuk pembuatan di dalam file. Karena lebih banyak perubahan di models.py dibuat, lebih banyak file akan dibuat di sini.

Fitur Admin

Dalam aplikasi kita saat ini, kita memerlukan fitur admin untuk mengelola produk dan pesanan yang akan dibuat dalam aplikasi. Django memberi kita fungsionalitas admin built-in yang sudah kita miliki. Aplikasi admin (fitur) juga telah terdaftar di daftar INSTALLED_APP kami; 'django.contrib.admin' .

Juga, URL untuk admin juga telah terdaftar di daftar urlpatterns file konfigurasi URL kami urls.py ; path('admin/', admin.site.urls), . File admin.py memungkinkan Anda untuk mendaftarkan model dan tindakan CRUD yang akan dilakukan pada model.

Untuk mengatur admin, jalankan ini di terminal:

 $ python manage.py createsuperuser

Anda akan diminta untuk memasukkan nama pengguna, email, dan kata sandi. Setelah itu, Anda telah berhasil membuat admin. Untuk memulai fungsionalitas admin, jalankan server:

 $ python manage.py runserver

Mengunjungi https://127.0.0.1:8000/admin/ akan mengarah ke sesi login, ketika Anda masuk (dengan nama pengguna dan kata sandi yang Anda buat) Anda diarahkan ke dashboard admin:

ini menunjukkan dasbor admin.
Dasbor admin disediakan oleh Django. (Pratinjau besar)

Grup dan pengguna adalah konfigurasi default yang memungkinkan admin mengakses manajemen dan izin pengguna. Sekarang mari kita daftarkan model kita.

Di admin.py , tambahkan baris berikut:

 from django.contrib import admin # Register your models here. from .models import Product, Order admin.site.register(Product) admin.site.register(Order)

from django.contrib import admin mengimpor fungsionalitas admin dari Django, dan kemudian kami mengimpor dua kelas dari models.py kami dan mendaftarkannya sehingga admin dapat melakukan tindakan CRUD pada produk dan pesanan dari dasbor.

Setelah mendaftarkan model, dasbor Anda akan terlihat seperti ini:

menampilkan dashboard admin dengan produk dan model pemesanan.
Model Produk dan Pesanan di Dasbor Admin. (Pratinjau besar)

Menambahkan produk:

ini menunjukkan admin admin menambahkan produk ke situs.
Admin menambahkan produk (sepatu) ke situs. (Pratinjau besar)

Membuat pesanan dari dashboard admin:

Gambar menunjukkan admin membuat pesanan.
Admin menambahkan/membuat pesanan. (Pratinjau besar)

Perutean Mudah

Setiap situs membutuhkan rute atau URL yang mengarah ke halaman tertentu dengan informasi tertentu untuk pengguna akhir. Kumpulan informasi atau aplikasi serupa diakses dalam rute tertentu. Ada kebutuhan untuk mengelompokkan rute bersama untuk aksesibilitas dan komunikasi dalam file. Django telah melakukannya untuk Anda di file urls.py

urls.py adalah file yang berasal dari variabel ROOT_CONF di settings.py . Di sinilah konfigurasi URL utama kita selesai. Ketika kita membuat tampilan di file atau folder yang berbeda, atau bahkan di file urls.py , mereka harus dikonfigurasi dalam daftar urlpatterns .

Django mengharapkan daftar bernama urlpatterns dalam file. Anda dapat mengubah file dalam variabel ROOT_CONF ke file lain yang Anda tempatkan dalam daftar urlpatterns .

 urlpatterns = [ path('admin/', admin.site.urls), ]

Daftar tersebut terdiri dari objek-objek yang merupakan instance dari path atau re-path . Setiap instance memiliki dua parameter wajib, pola 'admin/' , dan tampilan atau file URL, admin.site.urls .

Instance juga dapat mengarah ke file lain dengan lebih banyak konfigurasi URL. Ini dilakukan agar mudah dibaca.

views.py

Kebutuhan penting untuk aplikasi backend adalah tampilan yang dipetakan oleh setiap rute. Di Django, Anda menulis fungsi atau tampilan berbasis kelas untuk aplikasi dalam file views.py . Tampilan adalah kelas atau fungsi yang memproses permintaan dan mengirimkan kembali respons ke pengguna Anda.

Edit file views.py Anda menjadi ini:

 from django.http import HttpResponse def home(request): return HttpResponse("This is a shopping site for products") def order(request): return HttpResponse("Hello, welcome to our store, browse to our products and order!")

Di sini kami mengimpor HTTPResponse untuk menggunakannya dalam mendefinisikan dua tampilan (tampilan fungsi) untuk mengembalikan kalimat saat dipanggil. def home harus dipanggil ketika Anda mengunjungi alamat utama dan def order ketika Anda mengakses URL pesanan.

Setelah membuat tampilan kami, kami perlu menetapkannya ke rute yang berbeda (atau urlpatterns ). Itu bisa dilakukan dengan beberapa cara, kita bisa membuat daftar urlpatterns di file yang sama, atau kita bisa mengimpor trading.views ke file ecommerce_site.urls dan membuat path.

Cara yang lebih disukai untuk melakukannya adalah membuat file konfigurasi sub URL (di dalam trading ), dan memasukkannya ke dalam ecommerce_site.urls . Buat file urls.py di direktori trading . Direktori Anda akan terlihat seperti:

 trading/ __init__.py admin.py apps.py migrations/ __init__.py 0001_initial.py models.py tests.py urls.py views.py

Tambahkan kode berikut ke file baru Anda ( urls.py )

 from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), path('order/', views.order, name='order'), ]

Mari daftarkan file konfigurasi URL trading ( urls.py ) di file konfigurasi URL proyek,

 from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('trading.urls')) ]

Untuk dapat mengakses urlpatterns kita akan menggunakan kelas include dari django.urls pada baris 2. Kemudian pilih sebuah pola dan lampirkan file urls.py di direktori trading.

Apa yang kami lakukan di sini adalah mengimpor kelas path dari Django, dan file views.py . Kemudian daftar kami terdiri dari dua contoh jalur untuk setiap tampilan. Jadi def home dipanggil di https://127.0.0.1:8000/.

gambar yang ditampilkan saat Anda mengunjungi situs beranda.
Situs ketika Anda mengunjungi halaman rumah. (Pratinjau besar)

Dan def order dipanggil di https://127.0.0.1:8000/order/.

menunjukkan situs ketika Anda mengunjungi URL pesanan.
URL pesanan dikunjungi. (Pratinjau besar)

Catatan: Proses menjalankan startproject dan startapp tidak wajib tetapi sangat dianjurkan oleh Django. Dan Anda dapat membuat/memindahkan file dan folder setelah menjalankan setiap perintah untuk kenyamanan kerja Anda.

Pohon Ketergantungan

Berikut adalah proses di mana Django memproses permintaan dari URL yang datang:

  1. Django mencari lokasi akar (jalur) untuk URL Anda dalam variabel ROOT_CONF .
  2. Django memuat file python yang diberikan di jalur yang disediakan. Dan menempatkan variabel urlpatterns , ini adalah daftar yang berisi semua instance dari django.urls.path() dan/atau django.urls.re_path() .
  3. Dalam daftar, Django berjalan berurutan dan mencari URL yang cocok.
  4. Python, mengimpor dan memanggil tampilan (baik tampilan berbasis fungsi atau berbasis kelas). Yang selanjutnya diteruskan dengan permintaan HTTP.
  5. Tampilan memproses permintaan dan informasi yang diteruskan dan mengembalikan pesan/templat atau mengalihkan ke tampilan lain.
  6. Jika tidak ada pola URL yang cocok, atau jika pengecualian dimunculkan selama titik mana pun dalam proses ini, Django memanggil tampilan penanganan kesalahan yang sesuai.
Pohon menunjukkan bagaimana Django menangani permintaan.
Penanganan permintaan Django. (Pratinjau besar)

Kesimpulan

Kita telah mempelajari kemungkinan membuat file untuk Django tanpa baris perintah. Juga kita telah mempelajari keuntungan dan blok pembangun dari Proyek Django. Django adalah alat yang luar biasa dalam membangun proyek backend dengan tujuan untuk menciptakan kesederhanaan.

Anda dapat melihat kode untuk tutorial ini di GitHub.

Sumber daya

  • Manajemen kata sandi di Django
  • Django: Memulai
  • Django: Pengaturan
  • Django Ringan oleh O'Reilly