Panduan Memulakan Django: Membina Aplikasi Web Pertama Anda dengan Pantas
Panduan Memulakan Django: Membina Aplikasi Web Pertama Anda dengan Pantas
Django ialah rangka kerja Web Python peringkat tinggi, dengan matlamat pembangunan pantas dan reka bentuk yang ringkas. Ia mengikuti seni bina Model-Templat-Pandangan (MTV), menggalakkan penggunaan semula kod dan pengkomponenan. Panduan ini akan membimbing anda langkah demi langkah untuk mencipta aplikasi Django yang mudah, membolehkan anda bermula dengan pantas.
1. Persediaan Persekitaran
Pertama, anda perlu memastikan Python dipasang pada sistem anda. Django mengesyorkan menggunakan Python 3.6 atau versi yang lebih tinggi.
1.1 Memasang Python
Jika sistem anda tidak memasang Python, anda boleh memuat turun dan memasangnya dari Laman Web Rasmi Python.
1.2 Mencipta Persekitaran Maya (Virtual Environment)
Untuk mengasingkan pergantungan antara projek yang berbeza, sangat disyorkan untuk menggunakan persekitaran maya.
-
Buka terminal atau command prompt.
-
Cipta direktori projek, contohnya
myproject:
mkdir myproject cd myproject ```
-
Cipta dan aktifkan persekitaran maya:
python3 -m venv venv # Atau python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows ```
Selepas mengaktifkan persekitaran maya, prompt terminal anda akan memaparkan `(venv)`, menunjukkan bahawa anda menggunakan persekitaran maya.
1.3 Memasang Django
Dalam persekitaran maya yang diaktifkan, gunakan pip untuk memasang Django:
pip install Django
Sahkan sama ada pemasangan berjaya:
python -m django --version
Anda sepatutnya dapat melihat nombor versi Django.
2. Mencipta Projek Django
Selepas memasang Django, anda boleh mencipta projek Django baharu.
-
Masih dalam direktori projek anda (
myproject), jalankan arahan berikut:
django-admin startproject mysite ```
Ini akan mencipta direktori bernama `mysite` dalam direktori `myproject`, yang mengandungi fail rangka projek Django.
2. Masuk ke direktori mysite:
```bash
cd mysite ```
-
Struktur direktori projek Django adalah seperti berikut:
mysite/ manage.py mysite/ init.py settings.py urls.py asgi.py wsgi.py ```
* `manage.py`: Alat baris arahan untuk mengurus projek Django.
* `mysite/`: Pakej Python yang mengandungi konfigurasi projek.
* `__init__.py`: Fail kosong yang memberitahu Python bahawa direktori ini harus dianggap sebagai pakej Python.
* `settings.py`: Fail konfigurasi projek, seperti tetapan pangkalan data, mod nyahpepijat, dll.
* `urls.py`: Konfigurasi laluan URL, memetakan URL kepada fungsi pandangan.
* `asgi.py`: Fail konfigurasi ASGI (Asynchronous Server Gateway Interface), digunakan untuk menggunakan aplikasi tak segerak.
* `wsgi.py`: Fail konfigurasi WSGI (Web Server Gateway Interface), digunakan untuk menggunakan aplikasi segerak tradisional.## 3. Mulakan Pelayan Pembangunan
Django didatangkan dengan pelayan pembangunan ringan, yang memudahkan anda untuk membangunkan dan menguji secara tempatan.
-
Dalam direktori
mysite, jalankan arahan berikut:python manage.py runserver -
Buka pelayar anda, lawati
http://127.0.0.1:8000/. Anda sepatutnya dapat melihat halaman "It worked! Congratulations on your first Django-powered page.".
4. Cipta Aplikasi Django
Satu projek Django boleh mengandungi berbilang aplikasi. Mari kita cipta aplikasi bernama myapp.
-
Buka tetingkap terminal baharu (pastikan pelayan pembangunan berjalan).
-
Dalam direktori
mysite, jalankan arahan berikut:python manage.py startapp myappIni akan mencipta direktori bernama
myappdalam direktorimysite, yang mengandungi fail rangka aplikasi Django. -
Struktur direktori aplikasi Django adalah seperti berikut:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Fail kosong, memberitahu Python bahawa direktori ini harus dianggap sebagai pakej Python.admin.py: Digunakan untuk mengkonfigurasi bahagian pentadbiran Django.apps.py: Konfigurasi aplikasi.migrations/: Digunakan untuk menguruskan migrasi pangkalan data.models.py: Mentakrifkan model data (jadual pangkalan data).tests.py: Menulis kes ujian.views.py: Mentakrifkan fungsi paparan, mengendalikan permintaan dan mengembalikan respons.
-
Dalam
mysite/settings.py, tambahkanmyappke senaraiINSTALLED_APPS:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Tambah myapp ]
5. Cipta Paparan Mudah
Sekarang kita cipta paparan mudah untuk memaparkan "Hello, Django!" dalam pelayar.
-
Edit fail
myapp/views.py, tambahkan kod berikut:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Cipta fail
myapp/urls.py, dan petakan URL ke fungsi paparan:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
```
3. Sertakan `myapp/urls.py` ke dalam `mysite/urls.py`:
```python
from django.urls import include, path
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')), # Tambah konfigurasi URL myapp
]
```
4. Lawati `http://127.0.0.1:8000/myapp/`. Anda sepatutnya dapat melihat halaman "Hello, Django!".
## 6. Cipta Model
Mari kita cipta model mudah untuk menyimpan beberapa data.
1. Edit fail `myapp/models.py`, tambahkan kod berikut:
```python
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
```
Ini mentakrifkan model bernama `Question`, mengandungi dua medan: `question_text` (CharField) dan `pub_date` (DateTimeField).
2. Cipta dan gunakan migrasi pangkalan data:
```bash
python manage.py makemigrations myapp
python manage.py migrate
```
Perintah `makemigrations` akan mencipta fail migrasi berdasarkan model anda, perintah `migrate` akan menggunakan migrasi ke pangkalan data.
## 7. Gunakan Laman Pentadbiran Django
Django menyediakan laman pentadbiran yang berkuasa, yang boleh digunakan untuk mengurus data anda dengan mudah.
1. Cipta pengguna super:
```bash
python manage.py createsuperuser
```
Ikut arahan untuk memasukkan nama pengguna, e-mel dan kata laluan.
2. Edit fail `myapp/admin.py`, daftarkan model `Question`:
```python
from django.contrib import admin
from .models import Question
admin.site.register(Question)
```
3. Lawati `http://127.0.0.1:8000/admin/`, log masuk menggunakan pengguna super yang anda cipta. Anda sepatutnya dapat melihat modul "Questions", yang boleh digunakan untuk menambah, mengedit dan memadam soalan.
## 8. Gunakan Templat
Penggunaan templat boleh menjana halaman HTML dengan lebih fleksibel.
1. Dalam direktori `myapp`, buat direktori bernama `templates`, dan dalam direktori `templates`, buat direktori bernama `myapp` ( `myapp/templates/myapp` ).
2. Dalam direktori `myapp/templates/myapp`, buat fail bernama `index.html`, dan tambahkan kod berikut:
```html
# Hello, Django!
The current time is: {{ current_time }}
```
3. Edit fail `myapp/views.py`, gunakan templat:
```python
from django.shortcuts import render
import datetime
def index(request):
now = datetime.datetime.now()
return render(request, 'myapp/index.html', {'current_time': now})
```
Fungsi `render` akan memuatkan templat dan menghantar data ke templat untuk dipaparkan (render).
4. Lawati semula `http://127.0.0.1:8000/myapp/`. Anda sepatutnya dapat melihat halaman yang mengandungi masa semasa.
## 9. Kesimpulan
Melalui panduan ini, anda telah memahami konsep asas dan kaedah penggunaan Django, termasuk penyediaan persekitaran, penciptaan projek dan aplikasi, definisi model, penciptaan pandangan (view) dan penggunaan templat. Ini hanyalah permulaan, Django menyediakan fungsi yang kaya, anda boleh terus belajar dan meneroka, membina aplikasi Web yang lebih kompleks.





