როგორ შევქმნათ Hello World ვებსაიტი Django-თი
ისწავლეთ, როგორ შექმნათ Django-თი ვებსაიტი ზედმეტი კონფიგურაციების გარეშე. ვკონცენტრირდეთ მხოლოდ ფუნდამენტებზე.
რამდენად მარტივია Django-თი პირველი ვებსაიტის შექმნა? აი, რას გვეუბნება თავად Django საკუთარ თავზე (დოკუმენტაციიდან): Django საშუალებას გაძლევთ, ნაკლები კოდით, უფრო სწრაფად და მარტივად შექმნათ უკეთესი ვებ აპლიკაციები. მაგრამ დარწმუნებული ვარ, თუკი ჯანგოზე ერთი ტუტორიალი მაინც გინახავთ, მის კომპლექსურობას ცოტა შეუშინებიხართ!
თუმცა ეს არა ჯანგოს ბრალი, არამედ ცუდად დაგეგმილი გაკვეთილის შთაბეჭდილებაა. ამ სტატიაში ჯანგოს მთავარ პრინციპებს დამწყებთათვის ბევრად მეგობრული გზებით შევისწავლით!
რას გვასწავლიან პირველივე დღიდან: Django-ს ფრეიმვორკი მკაცრ სტრუქტურას გვთავაზობს - როუტები იწერება urls.py-ში, კონტროლერები views.py-ში, ხოლო შაბლონები თავსდება templates საქაღალდეში... უკვე მეტისმეტია!
Django სინამდვილეში არ მოითხოვს ცალკე views.py ფაილს ან თუნდაც დარეგისტრირებულ აპლიკაციას ტექსტის ან HTML-ის დასაბრუნებლად იმისთვის, რომ მარტივი აპლიკაცია შექმნათ. View ფუნქციების განსაზღვრა პირდაპირ იქაც შეგვიძლია, სადაც როუტებს ვწერთ.
მოდით, ავაწყოთ პროექტი ეტაპობრივად: ჯერ შევქმნათ მთავარი გვერდი (Homepage), შემდეგ კი დავამატოთ "ჩვენ შესახებ" გვერდი (About Us). მხოლოდ urls.py-ის გამოყენებით.
ნაბიჯი 1: პროექტის შექმნა 📂
გახსენით თქვენი საყვარელი Code editor (VScode, PyCharm, Zed...). შექმენით ახალი Django პროექტი და გადადით მის საქაღალდეში ტერმინალის მეშვეობით:
django-admin startproject hello_project # ეს ქმნის Django-ს პროექტს
cd hello_project # შევდივართ შექმნილ საქაღალდეში, სადაც ჩვენი ჯანგოს პროექტი შევქმენით ცოტა ხნის წინპროექტის საქაღალდის სტრუქტურა ასე გამოიყურება:
hello_project/
│
├── manage.py
│
└── hello_project/
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.pyნაბიჯი 2: მთავარი გვერდის (Homepage) შექმნა 🏠
გახსენით hello_project/urls.py, წაშალეთ არსებული შიგთავსი და ჩაწერეთ მხოლოდ მთავარი გვერდისთვის საჭირო კოდი (კოდის გარჩევა იხილეთ მის ქვემოთ):
from django.http import HttpResponse
from django.urls import path
def home(request):
return HttpResponse("Hello, World!")
urlpatterns = [
path("", home),
]სულ ესაა!
კოდის თითოეული ხაზი გარჩევა:
from django.http import HttpResponse— აიმპორტებსHttpResponseკლასს, რათა ბრაუზერს მარტივი ტექსტური პასუხი დავუბრუნოთ.from django.urls import path— აიმპორტებსpathფუნქციას, რათა URL მისამართი კონკრეტულ view ფუნქციას დავუკავშიროთ.def home(request):— ქმნის view ფუნქციას სახელადhome, რათა მიიღოს შემოსულიrequestობიექტი მომხმარებლის ბრაუზერიდან.return HttpResponse("Hello, World!")— აბრუნებს ტექსტურ პასუხს, რათა ბრაუზერმა ეკრანზე "Hello, World!" გამოიტანოს.urlpatterns = [— ხსნის როუტინგის სიას, რათა Django-მ გაიგოს, რომელი მისამართი რომელ ფუნქციას ეკუთვნის.path("", home),— აკავშირებს ძირითად მისამართს (/)homeფუნქციასთან, რათა მთავარი გვერდის გახსნისას ეს ფუნქცია შესრულდეს.
ნაბიჯი 3: მთავარი გვერდის ტესტირება 🧪
გაუშვით ლოკალური სერვერი ტერმინალიდან:
python manage.py runserverტერმინალის პასუხი იქნება მსგავსი:
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
Django version 5.x
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.გახსენით ბრაუზერში ბმული: http://127.0.0.1:8000/
ბრაუზერის პასუხი:
Hello, World!ნაბიჯი 4: მეორე გვერდის (About Us) დამატება 📝
ახლა დავამატოთ მეორე გვერდი. ისევ გახსენით hello_project/urls.py და დაამატეთ about ფუნქცია და შესაბამისი როუტი:
from django.http import HttpResponse
from django.urls import path
def home(request):
return HttpResponse("Hello, World!")
def about(request):
return HttpResponse("About Us")
urlpatterns = [
path("", home),
path("about/", about),
]რა დაემატა კოდში:
def about(request):— ქმნის ახალ view ფუნქციას სახელადabout, რათა დამუშავდეს "ჩვენს შესახებ" გვერდზე შემოსული მოთხოვნა.return HttpResponse("About Us")— აბრუნებს ტექსტს "About Us", რათა ბრაუზერმა მომხმარებელს შესაბამისი ინფორმაცია აჩვენოს.path("about/", about),— ამატებს ახალ მისამართს როუტინგის სიაში, რათა/about/მისამართზე შესვლისას Django-მ პირდაპირaboutფუნქცია გამოიძახოს.
ნაბიჯი 5: About Us გვერდის ტესტირება 🔍
სერვერის გადატვირთვა საჭირო არ არის: Django ცვლილებებს ავტომატურად აღიქვამს. უბრალოდ გახსენით ბრაუზერში: http://127.0.0.1:8000/about/
ბრაუზერის პასუხი იქნება:
About UsRequest-Response პროცესის ვიზუალიზაცია.
ამ ექსპერიმენტით ნათლად ვხედავთ, თუ როგორ ამუშავებს Django თითოეულ მოთხოვნას სტანდარტული ჯაჭვით:
[ მოთხოვნა ბრაუზერიდან ]
│
▼
`urls.py`
│ (პოულობს დამთხვევას: "" თუ "about/")
▼
`home(request)` ან `about(request)`
│ (ასრულებს ფუნქციას)
▼
`HttpResponse`
│
▼
[ ტექსტი ბრაუზერში ]რატომ არის ეს მიდგომა მნიშვნელოვანი? 🤔
რასაკვირველია, რეალურ და დიდ პროექტებში კოდის urls.py-ში, views.py-სა და ცალკეულ აპლიკაციებში გადანაწილება კრიტიკულად აუცილებელია სისუფთავის შესანარჩუნებლად.
თუმცა, ამ მარტივი ექსპერიმენტით ნათლად ჩანს Django-ს მთავარი ფუნდამენტი:
View არის ჩვეულებრივი Python ფუნქცია, რომელიც იღებს
request-ს და აბრუნებსHttpResponse-ს, ხოლოurls.pyამ ფუნქციას კონკრეტულ მისამართთან აკავშირებს.
გსურთ ჩაწვდეთ Django-ს რეალურ არქიტექტურას? 🚀
თუ გაინტერესებთ, როგორ მუშაობს Back-End დეველოპმენტი სინამდვილეში და გსურთ ააშენოთ მასშტაბური, უსაფრთხო ვებ-აპლიკაციები, ნახეთ ScaleUp.ge-ს პროგრამირების კურსები.
ScaleUp Academy დაგეხმარებათ გადახვიდეთ დამწყები დონიდან პროფესიონალამდე:
- 👉 Python & AI ინჟინერიის კურსი: ისწავლეთ პითონი, AI ინჟინერია (Langchain, LangGraph), AI აგენტების შექმნა და დაეუფლეთ Django-ს რეალურ პროექტებზე მუშაობით
- 👉 SQL-ის კურსი (მონაცემთა ბაზები): გაიგეთ, სად და როგორ ინახება ის მონაცემები, რომლებსაც Django-ს View ფუნქციები ამუშავებენ და დაეუფლეთ რელაციური ბაზების დიზაინს.
- 👉 მონაცემთა ანალიტიკის კურსი: თუ გიზიდავთ მონაცემებში ფარული კანონზომიერებების აღმოჩენა, ისწავლეთ როგორ აქციოთ ნედლი ინფორმაცია ბიზნესისთვის ღირებულ გადაწყვეტილებებად Python-ის, SQL-ისა და Power BI-ის მეშვეობით.
არ გაჩერდეთ ზედაპირულ ცოდნაზე. ეწვიეთ ScaleUp.ge-ს, გაეცანით კურსებს, ჩანიშნეთ უფასო საკონსულტაციო შეხვედრა ჩვენს ლექტორებთან და დაიწყეთ თქვენი პროფესიული ზრდა დღესვე!
ავტორის შესახებ
გიგი ჩაკაბერია
Back-end დეველოპერი და მენტორი