Panduan Lengkap untuk Pemula untuk Django - Bagian 1
Hari ini saya memulai seri tutorial baru tentang fundamental Django. Ini adalah panduan pemula yang lengkap untuk mulai belajar Django. Materi dibagi menjadi tujuh bagian. Kami akan mengeksplorasi semua konsep dasar dengan sangat terperinci, mulai dari pemasangan, persiapan lingkungan pengembangan, model, tampilan, templat, URL hingga topik yang lebih maju seperti migrasi, pengujian, dan penyebaran.
Saya ingin melakukan sesuatu yang berbeda. Tutorial yang mudah diikuti, informatif, dan menyenangkan untuk dibaca. Saat itulah saya muncul dengan ide untuk membuat beberapa komik di sepanjang teks untuk menggambarkan beberapa konsep dan skenario. Saya harap Anda menikmati bacaannya!
Tapi sebelum kita mulai ...
Dulu ketika saya bekerja sebagai profesor pengganti di sebuah universitas, saya biasa mengajar pengantar tentang disiplin pengembangan web untuk mahasiswa baru dalam kursus Ilmu Komputer. Dan saya akan selalu memulai kelas baru dengan kutipan Konfusius ini:
Jadi, tangan! Jangan hanya membaca tutorialnya. Mari lakukan bersama! Anda akan belajar lebih banyak dengan melakukan dan berlatih.
Kenapa Django?
Django adalah kerangka kerja Web yang ditulis dalam Python. Kerangka kerja Web adalah perangkat lunak yang mendukung pengembangan situs Web dinamis, aplikasi, dan layanan. Ini menyediakan satu set alat dan fungsi yang memecahkan banyak masalah umum yang terkait dengan pengembangan Web, seperti fitur keamanan, akses basis data, sesi, pemrosesan template, perutean URL, internasionalisasi, lokalisasi, dan banyak lagi.
Menggunakan kerangka kerja Web, seperti Django, memungkinkan kami untuk mengembangkan aplikasi Web yang aman dan andal dengan sangat cepat dengan cara standar, tanpa harus menemukan kembali roda.
Jadi, apa istimewanya Django? Sebagai permulaan, ini adalah kerangka kerja Python Web, yang berarti Anda dapat mengambil manfaat dari berbagai pustaka sumber terbuka di luar sana. The Python Index Paket repositori memiliki lebih dari 116K paket (per 6 dari September 2017). Jika Anda perlu memecahkan masalah tertentu, kemungkinan seseorang telah menerapkan perpustakaan untuk itu.
Django adalah salah satu kerangka kerja Web paling populer yang ditulis dengan Python. Ini pasti yang paling lengkap, menawarkan berbagai fitur di luar kotak, seperti server Web mandiri untuk pengembangan dan pengujian, caching, sistem middleware, ORM, mesin templat, pemrosesan formulir, antarmuka dengan alat pengujian unit Python . Django juga dilengkapi dengan baterai , yang menawarkan aplikasi built-in seperti sistem otentikasi, antarmuka administratif dengan halaman yang dihasilkan secara otomatis untuk operasi CRUD, pembuatan feed sindikasi (RSS / Atom), peta situs. Bahkan ada kerangka kerja Sistem Informasi Geografis (SIG) yang dibangun di dalam Django.
Pengembangan Django didukung oleh Django Software Foundation , dan disponsori oleh perusahaan seperti JetBrains dan Instagram. Django juga sudah ada selama beberapa waktu sekarang. Ini sedang dalam pengembangan aktif selama lebih dari 12 tahun sekarang, terbukti sebagai kerangka kerja Web yang matang, andal dan aman.
Siapa yang Menggunakan Django?
Adalah baik untuk mengetahui siapa yang menggunakan Django di luar sana, jadi untuk mengetahui apa yang dapat Anda lakukan dengannya. Di antara situs Web terbesar menggunakan Django yang kami miliki: Instagram , Disqus , Mozilla , Bitbucket , Last.fm , National Geographic .
Untuk lebih banyak contoh, Anda dapat melihat basis data Situs Django , mereka menawarkan daftar lebih dari 5K situs Web bertenaga Django.
Ngomong-ngomong, tahun lalu, dalam konferensi Django Under The Hood 2016, Carl Meyer, pengembang inti Django, dan karyawan Instagram, memberi ceramah tentang bagaimana Instagram menggunakan Django pada skala dan bagaimana itu mendukung pertumbuhan mereka. Ini pembicaraan satu jam, tetapi jika Anda tertarik untuk belajar lebih banyak, itu adalah pembicaraan yang menghibur.
Instalasi
Hal pertama yang perlu kita lakukan adalah menginstal beberapa program pada mesin kita agar dapat mulai bermain dengan Django. Pengaturan dasar terdiri dari menginstal Python , Virtualenv , dan Django .
Menggunakan lingkungan virtual tidak wajib, tetapi sangat disarankan. Jika Anda baru memulai, lebih baik memulai dengan kaki kanan.
Ketika mengembangkan situs Web atau proyek Web dengan Django, sangat umum untuk menginstal perpustakaan eksternal untuk mendukung pengembangan. Menggunakan lingkungan virtual, setiap proyek yang Anda kembangkan akan memiliki lingkungan yang terisolasi. Jadi dependensi tidak akan berbenturan. Hal ini juga memungkinkan Anda untuk mempertahankan proyek mesin lokal Anda yang berjalan pada versi Django yang berbeda.
Sangat mudah untuk menggunakannya, Anda akan lihat!
Menginstal Python 3.6.2
Hal pertama yang ingin kita lakukan adalah menginstal distribusi Python terbaru, yaitu Python 3.6.2 . Paling tidak, pada saat saya menulis tutorial ini. Jika ada versi yang lebih baru di sana, ikuti saja. Langkah selanjutnya harus tetap kurang lebih sama.
Kita akan menggunakan Python 3 karena pustaka Python yang paling penting telah dipindahkan ke Python 3 dan juga versi Django utama berikutnya (2.x) tidak akan mendukung Python 2 lagi. Jadi Python 3 adalah cara untuk pergi.
Pergi ke www.python.org klik pada halaman unduh Python 3.6.2, gulir ke bawah hingga Anda melihat file unduhan yang tercantum di bawah ini:
Pilih versi yang tepat sesuai dengan distribusi Windows Anda. Jika Anda tidak yakin yang mana yang tepat untuk Anda, kemungkinan Anda ingin mengunduh versi penginstal yang dapat dijalankan Windows x86-64 .
Buka direktori Unduhan Anda, klik kanan pada installer dan klik Run as administrator .
Pastikan Anda memeriksa opsi Tambahkan Python 3.6 ke PATH dan klik pada opsi Instal Sekarang.
Setelah instalasi selesai, Anda akan melihat layar berikut:
Sekarang cari program Command Prompt dan buka:
Untuk menguji apakah semuanya berfungsi dengan baik sejauh ini, ketikkan perintah berikut:
Sebagai hasil, Anda akan melihat:
Hebat, Python sudah aktif dan berjalan. Langkah selanjutnya: Lingkungan Virtual!
Menginstal Virtualenv
Untuk langkah selanjutnya, kita akan menggunakan pip , alat untuk mengelola dan menginstal paket Python, untuk menginstal virtualenv .
Di Command Prompt, jalankan perintah di bawah ini:
Sejauh ini instalasi yang kami lakukan adalah untuk seluruh sistem. Mulai sekarang, semua yang kami instal, termasuk Django sendiri, akan diinstal di dalam Lingkungan Virtual.
Pikirkan seperti ini: untuk setiap proyek Django yang Anda mulai, pertama-tama Anda akan membuat Lingkungan Virtual untuknya. Ini seperti memiliki bak pasir untuk setiap proyek Django. Jadi Anda bisa bermain-main, menginstal paket, menghapus paket tanpa merusak apa pun.
Saya suka membuat folder bernama Development di komputer pribadi saya. Kemudian, saya menggunakannya untuk mengatur semua proyek dan situs web saya. Tetapi Anda dapat mengikuti langkah selanjutnya membuat direktori di mana pun itu terasa tepat untuk Anda.
Biasanya, saya mulai dengan membuat folder baru dengan nama proyek di dalam folder Development saya . Karena ini akan menjadi proyek pertama kami, kami tidak perlu memilih nama mewah atau apa pun. Untuk saat ini, kita dapat menyebutnya myproject .
Folder ini adalah direktori level yang lebih tinggi yang akan menyimpan semua file dan hal-hal yang berkaitan dengan proyek Django kami, termasuk lingkungan virtualnya.
Jadi mari kita mulai dengan menciptakan lingkungan virtual pertama kami dan menginstal Django.
Di dalam folder myproject :
Lingkungan virtual kami dibuat. Sekarang sebelum kita mulai menggunakannya, kita perlu mengaktifkan:
Anda akan tahu itu berfungsi jika Anda melihat (venv) di depan baris perintah, seperti ini:
Mari kita coba memahami apa yang terjadi di sini. Kami membuat folder khusus bernama venv . Ini berisi salinan Python di dalam folder ini. Setelah kami mengaktifkan lingkungan venv , ketika kami menjalankan
python
perintah, itu akan menggunakan salinan lokal kami, disimpan di dalam venv , bukan yang lain yang kami instal sebelumnya.
Hal penting lainnya adalah bahwa program pip sudah diinstal juga, dan ketika kita menggunakannya untuk menginstal paket Python, seperti Django, itu akan diinstal di dalam lingkungan venv .
Omong-omong, untuk menonaktifkan venv, jalankan perintah di bawah ini:
Tapi mari kita tetap aktifkan untuk langkah selanjutnya.
Menginstal Django 1.11.4
Ini sangat mudah. Sekarang kita telah mengaktifkan venv , jalankan perintah berikut untuk menginstal Django:
Kita semua sudah siap sekarang!
Memulai Proyek Baru
Untuk memulai proyek Django baru, jalankan perintah di bawah ini:
Utilitas baris perintah django-admin secara otomatis diinstal dengan Django.
Setelah kita menjalankan perintah di atas, itu akan menghasilkan struktur folder dasar untuk proyek Django.
Saat ini, direktori myproject kami terlihat seperti ini:
Struktur proyek awal kami terdiri dari lima file:
- manage.py : pintasan untuk menggunakan utilitas baris perintah django-admin . Ini digunakan untuk menjalankan perintah manajemen yang terkait dengan proyek kami. Kami akan menggunakannya untuk menjalankan server pengembangan, menjalankan tes, membuat migrasi, dan banyak lagi.
- __init__.py : file kosong ini memberi tahu Python bahwa folder ini adalah paket Python.
- settings.py : file ini berisi semua konfigurasi proyek. Kami akan merujuk ke file ini sepanjang waktu!
- urls.py : file ini bertanggung jawab untuk memetakan rute dan jalur di proyek kami. Misalnya, jika Anda ingin menunjukkan sesuatu di URL
/about/
, Anda harus memetakannya di sini terlebih dahulu. - wsgi.py : file ini adalah antarmuka gateway sederhana yang digunakan untuk penyebaran. Anda tidak perlu repot tentang itu. Biarkan saja untuk sekarang.
Django hadir dengan server web sederhana yang diinstal. Sangat nyaman selama pengembangan, jadi kami tidak perlu menginstal apa pun untuk menjalankan proyek secara lokal. Kita dapat mengujinya dengan menjalankan perintah:
Untuk saat ini, Anda dapat mengabaikan kesalahan migrasi; kita akan membahasnya nanti.
Sekarang buka URL berikut di browser Web: http://127.0.0.1:8000 dan Anda akan melihat halaman berikut:
Tekan CTRL + BREAK untuk menghentikan server pengembangan.
Aplikasi Django
Dalam filosofi Django kami memiliki dua konsep penting:
- app : adalah aplikasi Web yang melakukan sesuatu. Aplikasi biasanya terdiri dari serangkaian model (tabel database), tampilan, templat, tes.
- proyek : adalah kumpulan konfigurasi dan aplikasi. Satu proyek dapat terdiri dari beberapa aplikasi, atau satu aplikasi.
Penting untuk dicatat bahwa Anda tidak dapat menjalankan aplikasi Django tanpa proyek . Situs web sederhana seperti blog dapat ditulis seluruhnya dalam satu aplikasi, yang dapat dinamai blogatau weblog misalnya.
Ini adalah cara untuk mengatur kode sumber. Pada awalnya, itu tidak terlalu sepele untuk menentukan apa itu aplikasi atau tidak. Cara mengatur kode dan sebagainya. Tapi jangan khawatir tentang itu sekarang! Pertama mari kita merasa nyaman dengan API dan fundamental Django.
Baik! Jadi, untuk mengilustrasikannya, mari kita buat Forum Web atau Papan Diskusi sederhana. Untuk membuat aplikasi pertama kami, buka direktori tempat file manage.py berada dan jalankan perintah berikut:
Perhatikan bahwa kami menggunakan perintah startapp kali ini.
Ini akan memberi kita struktur direktori berikut:
Jadi, mari kita telusuri apa yang dilakukan oleh setiap file:
- migrasi / : di sini Django menyimpan beberapa file untuk melacak perubahan yang Anda buat di file models.py , jadi untuk menjaga agar database dan models.py tetap sinkron.
- admin.py : ini adalah file konfigurasi untuk aplikasi Django internal yang disebut Django Admin .
- apps.py : ini adalah file konfigurasi aplikasi itu sendiri.
- models.py : di sinilah kita mendefinisikan entitas aplikasi Web kita. Model diterjemahkan secara otomatis oleh Django ke dalam tabel basis data.
- tests.py : file ini digunakan untuk menulis unit test untuk aplikasi.
- views.py : ini adalah file tempat kami menangani siklus permintaan / respons aplikasi Web kami.
Sekarang kami membuat aplikasi pertama kami, mari konfigurasikan proyek kami untuk menggunakannya .
Untuk melakukannya, buka settings.py dan coba cari
INSTALLED_APPS
variabelnya:
settings.py
Seperti yang Anda lihat, Django sudah datang dengan 6 aplikasi bawaan terpasang. Mereka menawarkan fungsionalitas umum yang dibutuhkan sebagian besar aplikasi Web, seperti otentikasi, sesi, manajemen file statis (gambar, javascript, css, dll.) Dan sebagainya.
Kami akan menjelajahi aplikasi-aplikasi tersebut seiring dengan kemajuan dalam seri tutorial ini. Tetapi untuk sekarang, biarkan saja dan tambahkan aplikasi papan kami ke daftar
INSTALLED_APPS
:
Menggunakan analogi alun-alun dan lingkaran dari komik sebelumnya, lingkaran kuning akan menjadi aplikasi papan kami , dan django.contrib.admin , django.contrib.auth , dll, akan menjadi lingkaran merah.
Halo Dunia!
Mari kita tulis tampilan pertama kita . Kami akan menjelajahinya dengan sangat rinci di tutorial selanjutnya. Tetapi untuk sekarang, mari kita bereksperimen bagaimana rasanya membuat halaman baru dengan Django.
Buka file views.py di dalam aplikasi papan , dan tambahkan kode berikut:
views.py
Tampilan adalah fungsi Python yang menerima
HttpRequest
objek dan mengembalikan HttpResponse
objek. Terima permintaan sebagai parameter dan kembalikan respons sebagai hasilnya. Itulah aliran yang harus Anda ingat!
Jadi, di sini kita mendefinisikan tampilan sederhana yang disebut home yang hanya mengembalikan pesan yang mengatakan Halo, Dunia! .
Sekarang kita harus memberi tahu Django kapan harus melayani pandangan ini. Itu dilakukan di dalam file urls.py :
urls.py
Jika Anda membandingkan cuplikan di atas dengan file urls.py Anda, Anda akan melihat saya menambahkan baris baru berikut:
url(r'^$', views.home, name='home')
dan mengimpor modul tampilan dari papan aplikasi kami menggunakan from boards import views
.
Seperti yang saya sebutkan sebelumnya, kita akan mengeksplorasi konsep-konsep itu dengan sangat rinci nanti.
Tetapi untuk sekarang, Django bekerja dengan regex untuk mencocokkan URL yang diminta. Untuk tampilan beranda kami , saya menggunakan
^$
regex, yang akan cocok dengan jalur kosong, yang merupakan beranda (url ini: http://127.0.0.1:8000 ). Jika saya ingin mencocokkan URLhttp://127.0.0.1:8000/homepage/ , url saya akan: url(r'^homepage/$', views.home, name='home')
.
Mari kita lihat apa yang terjadi:
Di browser Web, buka URL http://127.0.0.1:8000:
Itu dia! Anda baru saja membuat tampilan pertama Anda.
Kesimpulan
Itu adalah bagian pertama dari seri tutorial ini. Dalam tutorial ini, kami belajar cara menginstal versi Python terbaru dan cara mengatur lingkungan pengembangan. Kami juga memiliki pengantar lingkungan virtual dan memulai proyek Django pertama kami dan sudah membuat aplikasi awal kami.
Saya harap Anda menikmati bagian pertama! Bagian kedua akan keluar minggu depan, pada 11 Sep 2017. Ini akan membahas tentang model, tampilan, templat, dan URL. Kami akan mengeksplorasi bersama semua dasar-dasar Django! Jika Anda ingin mendapat pemberitahuan saat bagian kedua keluar
Supaya kita bisa tetap di halaman yang sama, saya membuat kode sumber tersedia di GitHub. Keadaan saat ini dari proyek dapat ditemukan di bawah tag rilis v0.1-lw . Tautan di bawah ini akan membawa Anda ke tempat yang tepat:
Komentar
Posting Komentar