Django įvadas: greitai sukurkite savo pirmąją žiniatinklio programą
Django įvadas: greitai sukurkite savo pirmąją žiniatinklio programą
Django yra aukšto lygio Python žiniatinklio sistema, kurios tikslas – greitas kūrimas ir glaustas dizainas. Ji vadovaujasi modelio-šablono-vaizdo (MTV) architektūra, skatina kodo pakartotinį naudojimą ir komponentizavimą. Šis vadovas žingsnis po žingsnio padės jums sukurti paprastą Django programą, kad galėtumėte greitai pradėti.
1. Aplinkos paruošimas
Pirmiausia turite įsitikinti, kad jūsų sistemoje įdiegtas Python. Django rekomenduoja naudoti Python 3.6 arba naujesnę versiją.
1.1 Python įdiegimas
Jei jūsų sistemoje neįdiegtas Python, galite jį atsisiųsti ir įdiegti iš Python oficialios svetainės.
1.2 Virtualios aplinkos sukūrimas (Virtual Environment)
Norint atskirti skirtingų projektų priklausomybes, primygtinai rekomenduojama naudoti virtualią aplinką.
-
Atidarykite terminalą arba komandinę eilutę.
-
Sukurkite projekto katalogą, pvz.,
myproject:mkdir myproject cd myproject -
Sukurkite ir aktyvuokite virtualią aplinką:
python3 -m venv venv # Arba python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # WindowsSuaktyvinus virtualią aplinką, jūsų terminalo eilutėje bus rodoma
(venv), nurodant, kad naudojate virtualią aplinką.
1.3 Django įdiegimas
Suaktyvintoje virtualioje aplinkoje įdiekite Django naudodami pip:
pip install Django
Patikrinkite, ar diegimas sėkmingas:
python -m django --version
Turėtumėte pamatyti Django versijos numerį.
2. Django projekto sukūrimas
Įdiegę Django, galite sukurti naują Django projektą.
-
Vis dar būdami savo projekto kataloge (
myproject), paleiskite šią komandą:django-admin startproject mysiteTai sukurs katalogą pavadinimu
mysitekatalogemyproject, kuriame bus Django projekto pagrindiniai failai. -
Eikite į
mysitekatalogą:cd mysite -
Django projekto katalogo struktūra yra tokia:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py: komandinės eilutės įrankis, skirtas valdyti Django projektą.mysite/: Python paketas, kuriame yra projekto konfigūracija.__init__.py: tuščias failas, nurodantis Python, kad šis katalogas turėtų būti laikomas Python paketu.settings.py: projekto konfigūracijos failas, pvz., duomenų bazės nustatymai, derinimo režimas ir kt.urls.py: URL maršruto konfigūracija, susiejanti URL su vaizdo funkcijomis.asgi.py: ASGI (Asynchronous Server Gateway Interface) konfigūracijos failas, skirtas diegti asinchronines programas.wsgi.py: WSGI (Web Server Gateway Interface) konfigūracijos failas, skirtas diegti tradicines sinchronines programas.
3. Paleiskite kūrimo serverį
Django turi integruotą lengvą kūrimo serverį, kuris palengvina kūrimą ir testavimą lokaliai.
-
mysitekataloge paleiskite šią komandą:python manage.py runserver -
Atidarykite naršyklę ir apsilankykite adresu
http://127.0.0.1:8000/. Turėtumėte pamatyti puslapį su užrašu "It worked! Congratulations on your first Django-powered page.".
4. Sukurkite Django programą
Django projektas gali turėti kelias programas. Sukurkime programą pavadinimu myapp.
-
Atidarykite naują terminalo langą (palikite kūrimo serverį veikiantį).
-
mysitekataloge paleiskite šią komandą:python manage.py startapp myappTai sukurs katalogą pavadinimu
myappmysitekataloge, kuriame bus Django programos karkaso failai. -
Django programos katalogo struktūra yra tokia:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Tuščias failas, nurodantis Python, kad katalogas turėtų būti laikomas Python paketu.admin.py: Naudojamas Django administravimo sąsajos konfigūravimui.apps.py: Programos konfigūracija.migrations/: Naudojamas duomenų bazės perkėlimų valdymui.models.py: Apibrėžia duomenų modelius (duomenų bazės lenteles).tests.py: Rašomi testavimo atvejai.views.py: Apibrėžia rodinio funkcijas, kurios apdoroja užklausas ir grąžina atsakymus.
-
mysite/settings.pyfaile pridėkitemyappįINSTALLED_APPSsąrašą:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Pridėkite myapp ]
5. Sukurkite paprastą rodinį
Dabar sukurkime paprastą rodinį, kuris naršyklėje rodys "Hello, Django!".
-
Redaguokite
myapp/views.pyfailą ir pridėkite šį kodą:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Sukurkite
myapp/urls.pyfailą ir susiekite URL su rodinio funkcija:from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ] -
Įtraukite
myapp/urls.pyįmysite/urls.py:from django.urls import include, path from django.contrib import admin urlpatterns = [ path('admin/', admin.site.urls), path('myapp/', include('myapp.urls')), # Pridėkite myapp URL konfigūraciją ] -
Apsilankykite
http://127.0.0.1:8000/myapp/. Turėtumėte matyti puslapį su užrašu "Hello, Django!".
6. Sukurkite modelį
Sukurkime paprastą modelį duomenims saugoti.
-
Redaguokite
myapp/models.pyfailą ir pridėkite šį kodą: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_textTai apibrėžia modelį pavadinimu
Question, kuris turi du laukus:question_text(CharField) irpub_date(DateTimeField). -
Sukurkite ir pritaikykite duomenų bazės perkėlimus:
python manage.py makemigrations myapp python manage.py migratemakemigrationskomanda sukurs perkėlimo failą pagal jūsų modelį, omigratekomanda pritaikys perkėlimą duomenų bazei.
7. Naudokite Django administravimo sąsają
Django siūlo galingą administravimo sąsają, kuri leidžia patogiai valdyti duomenis.
-
Sukurkite supervartotoją:
python manage.py createsuperuserVykdykite nurodymus ir įveskite vartotojo vardą, el. pašto adresą ir slaptažodį.
-
Redaguokite
myapp/admin.pyfailą ir užregistruokiteQuestionmodelį:from django.contrib import admin from .models import Question admin.site.register(Question) -
Apsilankykite
http://127.0.0.1:8000/admin/ir prisijunkite naudodami sukurtą supervartotoją. Turėtumėte matyti "Questions" modulį, kuriame galite pridėti, redaguoti ir ištrinti klausimus.
8. Naudokite šablonus
Šablonų naudojimas leidžia lanksčiau generuoti HTML puslapius.
-
Katalogo
myappviduje sukurkite katalogą pavadinimutemplates, o katalogotemplatesviduje sukurkite katalogą pavadinimumyapp(myapp/templates/myapp). // Šis žingsnis užtikrina, kad Django tinkamai rastų jūsų šablonus. -
Katalogo
myapp/templates/myappviduje sukurkite failą pavadinimuindex.htmlir įdėkite šį kodą:Hello, Django! The current time is: {{ current_time }} -
Redaguokite failą
myapp/views.py, kad naudotumėte šabloną:from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request, 'myapp/index.html', {'current_time': now})renderfunkcija įkelia šabloną ir perduoda duomenis šablonui, kad jis būtų atvaizduotas. //renderfunkcija yra esminė dalis, sujungianti jūsų duomenis su šablonu. -
Iš naujo apsilankykite adresu
http://127.0.0.1:8000/myapp/. Turėtumėte matyti puslapį su dabartiniu laiku.
9. Išvada
Šiame vadove sužinojote apie pagrindines Django sąvokas ir naudojimo būdus, įskaitant aplinkos nustatymą, projektų ir programų kūrimą, modelių apibrėžimą, vaizdų kūrimą ir šablonų naudojimą. Tai tik pradžia, Django siūlo daug funkcijų, kurias galite toliau mokytis ir tyrinėti, kad sukurtumėte sudėtingesnes žiniatinklio programas.





