Django အစပြုလမ်းညွှန်: သင်၏ပထမဆုံး Web Application ကိုအမြန်တည်ဆောက်ခြင်း
Django အစပြုလမ်းညွှန်: သင်၏ပထမဆုံး Web Application ကိုအမြန်တည်ဆောက်ခြင်း
Django သည် မြန်ဆန်သောဖွံ့ဖြိုးတိုးတက်မှုနှင့် သပ်ရပ်သောဒီဇိုင်းကို ရည်ရွယ်သော အဆင့်မြင့် Python Web framework တစ်ခုဖြစ်သည်။ ၎င်းသည် Model-Template-View (MTV) ဗိသုကာကို လိုက်နာပြီး ကုဒ်ကို ပြန်လည်အသုံးပြုခြင်းနှင့် အစိတ်အပိုင်းများကို အားပေးသည်။ ဤလမ်းညွှန်သည် သင့်အား ရိုးရှင်းသော Django application တစ်ခုကို အဆင့်ဆင့် တည်ဆောက်ရန် လမ်းညွှန်ပေးမည်ဖြစ်ပြီး သင့်အား အမြန်စတင်နိုင်စေမည်ဖြစ်သည်။
1. ပတ်ဝန်းကျင်တည်ဆောက်ခြင်း
ပထမဦးစွာ၊ သင်၏စနစ်တွင် Python ကို ထည့်သွင်းထားကြောင်း သေချာစေရန်လိုအပ်သည်။ Django သည် Python 3.6 သို့မဟုတ် အထက်ကို အသုံးပြုရန် အကြံပြုထားသည်။
1.1 Python ကိုထည့်သွင်းခြင်း
သင့်စနစ်တွင် Python ကို ထည့်သွင်းမထားပါက Python ၏တရားဝင်ဝက်ဘ်ဆိုက် မှ ဒေါင်းလုဒ်လုပ်ပြီး ထည့်သွင်းနိုင်သည်။
1.2 Virtual Environment ကိုဖန်တီးခြင်း (Virtual Environment)
မတူညီသောပရောဂျက်များကြားတွင် မှီခိုမှုများကို ခွဲထုတ်ရန်အတွက် virtual environment ကို အသုံးပြုရန် အထူးအကြံပြုလိုပါသည်။
-
Terminal သို့မဟုတ် Command Prompt ကိုဖွင့်ပါ။
-
ပရောဂျက် directory တစ်ခုကိုဖန်တီးပါ၊ ဥပမာ
myproject:
mkdir myproject cd myproject ```
-
Virtual environment ကိုဖန်တီးပြီး activate လုပ်ပါ:
python3 -m venv venv # သို့မဟုတ် python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows ```
Virtual environment ကို activate လုပ်ပြီးနောက်၊ သင်၏ terminal prompt တွင် `(venv)` ကိုပြသမည်ဖြစ်ပြီး၊ သင်သည် virtual environment ကိုအသုံးပြုနေကြောင်းဖော်ပြသည်။
1.3 Django ကိုထည့်သွင်းခြင်း
Activate လုပ်ထားသော virtual environment တွင်၊ pip ကို အသုံးပြု၍ Django ကိုထည့်သွင်းပါ:
pip install Django
ထည့်သွင်းမှုအောင်မြင်ခြင်းရှိမရှိ စစ်ဆေးပါ:
python -m django --version
Django ၏ version number ကို သင်တွေ့ရပါမည်။
2. Django ပရောဂျက်ကိုဖန်တီးခြင်း
Django ကိုထည့်သွင်းပြီးနောက်၊ သင်သည် Django ပရောဂျက်အသစ်တစ်ခုကို ဖန်တီးနိုင်သည်။
-
သင်၏ပရောဂျက် directory (
myproject) တွင်ရှိနေဆဲဖြစ်ပြီး၊ အောက်ပါ command ကို run ပါ:
django-admin startproject mysite ```
၎င်းသည် `myproject` directory တွင် `mysite` အမည်ရှိ directory တစ်ခုကိုဖန်တီးမည်ဖြစ်ပြီး၊ Django ပရောဂျက်၏ အရိုးစုဖိုင်များပါဝင်သည်။
2. mysite directory ထဲသို့ဝင်ပါ:
```bash
cd mysite ```
-
Django ပရောဂျက် directory ၏ ဖွဲ့စည်းပုံမှာ အောက်ပါအတိုင်းဖြစ်သည်:
mysite/ manage.py mysite/ init.py settings.py urls.py asgi.py wsgi.py ```
* `manage.py`: Django ပရောဂျက်ကို စီမံခန့်ခွဲရန်အတွက် command-line tool တစ်ခုဖြစ်သည်။
* `mysite/`: ပရောဂျက် configuration ပါဝင်သော Python package တစ်ခုဖြစ်သည်။
* `__init__.py`: Python အား ထို directory ကို Python package အဖြစ် သတ်မှတ်သင့်ကြောင်း ပြောပြသော ဗလာဖိုင်တစ်ခုဖြစ်သည်။
* `settings.py`: ဒေတာဘေ့စ်ဆက်တင်များ၊ debug mode စသည်တို့ကဲ့သို့သော ပရောဂျက်၏ configuration ဖိုင်ဖြစ်သည်။
* `urls.py`: URL များကို view function များသို့ mapping လုပ်သော URL routing configuration ဖြစ်သည်။
* `asgi.py`: asynchronous application များကို deploy လုပ်ရန်အတွက် ASGI (Asynchronous Server Gateway Interface) configuration ဖိုင်ဖြစ်သည်။
* `wsgi.py`: ရိုးရာ synchronous application များကို deploy လုပ်ရန်အတွက် WSGI (Web Server Gateway Interface) configuration ဖိုင်ဖြစ်သည်။## ၃။ တီထွင်ထုတ်လုပ်ရေးဆာဗာကို စတင်ခြင်း
Django တွင် ဒေသတွင်း၌ တီထွင်ထုတ်လုပ်ခြင်းနှင့် စမ်းသပ်ခြင်းများအတွက် အဆင်ပြေစေရန် ပေါ့ပါးသော တီထွင်ထုတ်လုပ်ရေးဆာဗာတစ်ခု ပါဝင်ပါသည်။
၁။ mysite directory ထဲတွင် အောက်ပါ command ကို run ပါ:
```bash
python manage.py runserver
```
၂။ သင်၏ browser ကိုဖွင့်ပြီး http://127.0.0.1:8000/ သို့သွားပါ။ "It worked! Congratulations on your first Django-powered page." စာမျက်နှာကို သင်တွေ့ရပါမည်။
၄။ Django အက်ပ်ကို ဖန်တီးခြင်း
Django project တစ်ခုတွင် အက်ပ်များစွာ ပါဝင်နိုင်သည်။ myapp အမည်ရှိ အက်ပ်တစ်ခုကို ဖန်တီးကြပါစို့။
၁။ terminal window အသစ်တစ်ခုကိုဖွင့်ပါ (တီထွင်ထုတ်လုပ်ရေးဆာဗာကို ဆက်လက်လည်ပတ်ထားပါ)။
၂။ mysite directory ထဲတွင် အောက်ပါ command ကို run ပါ:
```bash
python manage.py startapp myapp
```
၎င်းသည် `mysite` directory ထဲတွင် `myapp` အမည်ရှိ directory တစ်ခုကို Django အက်ပ်၏ အရိုးအဆစ်ဖိုင်များဖြင့် ဖန်တီးပေးလိမ့်မည်။
၃။ Django အက်ပ် directory ၏ တည်ဆောက်ပုံမှာ အောက်ပါအတိုင်းဖြစ်သည်:
```
myapp/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
```
* `__init__.py`: Python အား directory ကို Python package အဖြစ် သတ်မှတ်သင့်ကြောင်း ပြောပြသော ဗလာဖိုင်တစ်ခုဖြစ်သည်။
* `admin.py`: Django admin backend ကို configure လုပ်ရန် အသုံးပြုသည်။
* `apps.py`: အက်ပ်၏ configuration။
* `migrations/`: database migration များကို စီမံခန့်ခွဲရန် အသုံးပြုသည်။
* `models.py`: data model (database table) များကို define လုပ်သည်။
* `tests.py`: test case များကို ရေးသားသည်။
* `views.py`: request များကို ကိုင်တွယ်ပြီး response များကို ပြန်ပေးသော view function များကို define လုပ်သည်။
၄။ mysite/settings.py ထဲတွင် myapp ကို INSTALLED_APPS list ထဲသို့ ထည့်ပါ:
```python
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # myapp ကို ထည့်ပါ
]
```
၅။ ရိုးရှင်းသော view တစ်ခုကို ဖန်တီးခြင်း
ယခု ကျွန်ုပ်တို့သည် browser တွင် "Hello, Django!" ကိုပြသပေးမည့် ရိုးရှင်းသော view တစ်ခုကို ဖန်တီးပါမည်။
၁။ myapp/views.py ဖိုင်ကို edit လုပ်ပြီး အောက်ပါ code ကို ထည့်ပါ:
```python
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django!")
```
၂။ myapp/urls.py ဖိုင်ကို ဖန်တီးပြီး URL ကို view function သို့ map လုပ်ပါ:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
```
3. `myapp/urls.py` ကို `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')), # myapp ၏ URL configuration ကို ထည့်ပါ
]
```
4. `http://127.0.0.1:8000/myapp/` သို့ ဝင်ရောက်ကြည့်ပါ။ "Hello, Django!" စာမျက်နှာကို တွေ့ရပါမည်။
## 6. Model တစ်ခု ဖန်တီးခြင်း
ဒေတာအချို့ကို သိမ်းဆည်းရန်အတွက် ရိုးရှင်းသော model တစ်ခုကို ဖန်တီးကြပါစို့။
1. `myapp/models.py` ဖိုင်ကို တည်းဖြတ်ပြီး အောက်ပါကုဒ်ကို ထည့်ပါ:
```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
```
၎င်းသည် `Question` ဟုခေါ်သော model တစ်ခုကို သတ်မှတ်ပေးပြီး `question_text` (CharField) နှင့် `pub_date` (DateTimeField) ဟူသော field နှစ်ခု ပါဝင်သည်။
2. Database migration ကို ဖန်တီးပြီး အသုံးပြုပါ:
```bash
python manage.py makemigrations myapp
python manage.py migrate
```
`makemigrations` command သည် သင်၏ model များအပေါ်အခြေခံ၍ migration ဖိုင်ကို ဖန်တီးပေးမည်ဖြစ်ပြီး `migrate` command သည် migration ကို database သို့ အသုံးပြုပေးမည်ဖြစ်သည်။
## 7. Django Admin Backend ကို အသုံးပြုခြင်း
Django သည် သင်၏ဒေတာကို အဆင်ပြေစွာ စီမံခန့်ခွဲနိုင်စေရန် အစွမ်းထက်သော admin backend ကို ပံ့ပိုးပေးသည်။
1. Superuser တစ်ဦးကို ဖန်တီးပါ:
```bash
python manage.py createsuperuser
```
ညွှန်ကြားချက်များအတိုင်း username, email နှင့် password ကို ထည့်ပါ။
2. `myapp/admin.py` ဖိုင်ကို တည်းဖြတ်ပြီး `Question` model ကို register လုပ်ပါ:
```python
from django.contrib import admin
from .models import Question
admin.site.register(Question)
```
3. `http://127.0.0.1:8000/admin/` သို့ ဝင်ရောက်ပြီး သင်ဖန်တီးထားသော superuser ဖြင့် login ဝင်ပါ။ "Questions" module ကို တွေ့ရမည်ဖြစ်ပြီး မေးခွန်းများကို ထည့်ခြင်း၊ တည်းဖြတ်ခြင်းနှင့် ဖျက်ခြင်းများ ပြုလုပ်နိုင်သည်။
## 8. Template များ အသုံးပြုခြင်း
Template များအသုံးပြုခြင်းဖြင့် HTML စာမျက်နှာများကို ပိုမိုလွယ်ကူစွာ ထုတ်လုပ်နိုင်သည်။1. `myapp` ဖိုင်တွဲထဲတွင် `templates` အမည်ရှိ ဖိုင်တွဲတစ်ခုကိုတည်ဆောက်ပြီး `templates` ဖိုင်တွဲထဲတွင် `myapp` အမည်ရှိ ဖိုင်တွဲတစ်ခုကိုတည်ဆောက်ပါ ( `myapp/templates/myapp` )။
2. `myapp/templates/myapp` ဖိုင်တွဲထဲတွင် `index.html` အမည်ရှိ ဖိုင်တစ်ခုကိုတည်ဆောက်ပြီး အောက်ပါကုဒ်ကိုထည့်ပါ:
```html
Hello, Django!
The current time is: {{ current_time }}
```
3. `myapp/views.py` ဖိုင်ကိုတည်းဖြတ်ပြီး တင်းပလိတ်ကိုသုံးပါ:
```python
from django.shortcuts import render
import datetime
def index(request):
now = datetime.datetime.now()
return render(request, 'myapp/index.html', {'current_time': now})
```
`render` လုပ်ဆောင်ချက်သည် တင်းပလိတ်ကို တင်ပေးပြီး ဒေတာကို တင်းပလိတ်သို့ ပေးပို့ကာ ပုံဖော်ပေးသည်။
4. `http://127.0.0.1:8000/myapp/` သို့ ပြန်လည်ဝင်ရောက်ပါ။ လက်ရှိအချိန်ပါဝင်သော စာမျက်နှာကို သင်တွေ့ရပါမည်။
## 9. နိဂုံး
ဤလမ်းညွှန်မှတစ်ဆင့် သင်သည် Django ၏ အခြေခံသဘောတရားများနှင့် အသုံးပြုပုံများကို နားလည်သဘောပေါက်ပြီးဖြစ်သည်၊ ၎င်းတွင် ပတ်ဝန်းကျင်တည်ဆောက်ခြင်း၊ ပရောဂျက်များနှင့် အပလီကေးရှင်းများဖန်တီးခြင်း၊ မော်ဒယ်များကိုသတ်မှတ်ခြင်း၊ မြင်ကွင်းများကိုဖန်တီးခြင်းနှင့် တင်းပလိတ်များကိုအသုံးပြုခြင်းတို့ပါဝင်သည်။ ဤသည်မှာအစပြုခြင်းတစ်ခုသာဖြစ်ပြီး Django သည် ကြွယ်ဝသောလုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးသောကြောင့် သင်သည် ဆက်လက်လေ့လာပြီး ရှာဖွေနိုင်ကာ ပိုမိုရှုပ်ထွေးသော ဝဘ်အပလီကေးရှင်းများကို တည်ဆောက်နိုင်သည်။





