Darbo su „Django“ pradžia – įvadas ir vadovėlis

Atskleidimas: Jūsų palaikymas padeda išlaikyti svetainę! Mes uždirbame siuntimo mokestį už kai kurias paslaugas, kurias rekomenduojame šiame puslapyje.


„Django“ yra greitas interneto programų kūrimo pagrindas, parašytas Python’e.

Plėtros programa yra programos skeletas, kuriame yra įrankių rinkinys, skirtas greitai sukurti programinę įrangą, ir nuomonė apie tai, kaip turėtų būti kuriama programinė įranga..

Karkasai sumažina „katilinės“ kodą teikdami dažniausiai naudojamas savybes – duomenų bazės sujungimą, vartotojų prisijungimus, sesijų valdymą, užklausų nukreipimą. Jų reikia beveik visose programose, neatsižvelgiant į konkretų programos tikslą, ir jų nereikia pertvarkyti kiekvienam naujam projektui.

Plėtros sistema taip pat teikia sistemos architektūrą. Užuot eikvoję laiką ir energiją spręsdami, kaip sutvarkyti kodą (arba neturėdami nesibaigiančių problemų, jei to nepadarysite), sistema turi tinkamą būdą organizuoti funkcijas, taigi jūs galite tiesiog pradėti jas kurti..

Pažiūrėsime, kaip atrodo ši struktūra, kai nustatome pirmąją programą.

Darbo pradžia

Vienintelis dalykas, ko jums tikrai reikia, yra prieiga prie interneto, labai pagrindinės žinios apie komandinę eilutę ir kodo redaktorius.

Tikriausiai dauguma „Linux“ vartotojų žino, kaip pasiekti savo terminalą, tačiau čia yra trumpas „Linux“ terminalo vadovas tuo atveju, jei to neturite. Jei naudojate „Mac OS X“, turite „Linux“ / „Unix“ tipo komandų eilutę, prieinamą „Terminalo“ programoje.

„Windows“ komandų eilutė šiek tiek skiriasi nuo tos, kuri naudojama „Mac OS X“ ir „Linux“ (vadinama bash).

Galite naudoti „Windows Powershell“, tačiau turėsite nemažai „versti“ – ne tik čia, bet ir daugelyje kitų vadovėlių bei nuorodų vadovų..

Paprasčiausias būdas yra paprasčiausiai įdiegti bash terminalą.

Turite keletą variantų:

  • Cygwin: tai „Linux“ / „Unix“ įrankių, skirtų „Windows“, įskaitant bash terminalą, kolekcija.
  • „Gitbash“: „Git“, skirtą „Windows“, teikia su greita diegimu. Tikriausiai vis tiek greičiausiai norėsite naudoti „git“ (ir „Github“) versijų valdymui, taigi tai gana lengvas sprendimas.
  • „Windows 10“ apima „Ubuntu“ pagrįstą „Bash“ apvalkalą, kuris yra nuostabus. Norint, kad jis veiktų, reikia šiek tiek padaryti.

Įdiegti viską

Yra keli „Django“ paleidimo veiksmai: „Python“, atnaujinkite „Python“ paketo tvarkyklę, nustatykite virtualią aplinką ir įdiekite „Django“..

Python

Jei kompiuteryje neturite Python, jums to reikia. Žr. „Python“ atsisiuntimų puslapį, kuriame pateikiamos visų pagrindinių operacinių sistemų nuorodos į „Python“.

Norėsite „Python 3“, o ne „Python 2“. „Python 2“ galite naudoti kartu su „Django“, tačiau „Python 3“ yra kalbos dabartis ir ateitis..

Jei tik įsitraukiate į „Python“ ir „Django“, naudokite „Python 3“.

Galbūt jau turite „Python 2“ savo kompiuteryje. Nuo šio rašymo „Mac OS X“ pristatoma kartu su „Python 2“, taip pat veikia keli „Linux“ platinimai. Įdiekite „Python 3“ ir naudokitės ja. (Turėti dvi „Python“ versijas kompiuteryje nebus problemų, kaip matysite atlikdami kitus veiksmus.)

Jei nesate tikri, kokią „Python“ versiją turite, įveskite komandinę eilutę „python“.

Tai tau pasakys. Pvz., Tai yra tai, ką pamatytumėte naudodami „Python“ versiją 3.5.1:

> python
„Python 3.5.1“ (v3.5.1: 37a07cee5969, 2015 m. Gruodžio 5 d., 21:12:44)
[GCC 4.2.1 („Apple Inc.“ pastatyta 5666) (3 taškas)] ant darvino
Tipas "padėti", "autorių teises", "kreditų" arba "licencija" Daugiau informacijos.

Jei bėgiojant python’ą paaiškėja v2, pabandykite python3. Jei turite įdiegtą „Python 3“, tai turėtų jums pasakyti.

Atnaujinkite „Python“ paketo tvarkyklę

„Python“ pristato su „pip“, „Python“ paketo tvarkytuve. Tačiau turėsite jį atnaujinti („Python“ diegimo paketai nebus atnaujinami kiekvieną kartą, kai atnaujinsite „pip“). Laimei, pip atnaujina save naudodamas greitą terminalo komandą:

> diegti – atnaujinti

Python virtualioji aplinka

Bet kuris „Python“ projektas, įskaitant „Django“ projektą, paprastai apima keletą atskirų trečiųjų šalių paketų.

Jei daug naudosite „Python“, galiausiai turėsite versijų konfliktų – šiam projektui reikia kažkokio v4.3, o tam projektui reikalinga v5.1. Sprendimas yra virtualios Python aplinkos.

Yra keletas „Python“ virtualios aplinkos įrankių. Mes naudojame virtualenv. Pirmiausia įdiekite jį su pip:

> pip įdiegti virtualenv

Tada nustatykite virtualią aplinką savo „Django“ projektui. Sukurkite naują katalogą, kuriame bus jūsų „Django“ projektas (-ai).

Šiame kataloge bus jūsų projekto katalogas ir kiti dalykai, todėl, jei norite susipainioti, galbūt geriau būtų suteikti jam kitą vardą, o ne jūsų projekto pavadinimą. Mes tai vadinsime django projektais.

Sukurkite konteinerio katalogą, tada paleiskite virtualenv iš katalogo vidaus.

Vykdydami virtualenv, mes nurodysime python3 ir duosime aplinkai pavadinimą (djenv), tada suaktyvinsime virtualią aplinką.

> mkdir django-projektai
> CD django-projektai
~ / django-projektai > virtualenv -p python3 djenv
~ / django-projektai > šaltinis djenv / bin / aktyvuoti
(djenv) ~ / django-projektai >

Dabar esate virtualioje aplinkoje, pavadintoje djenv. Bet kuriuos įdiegtus ar atnaujintus „pip“ paketus bus galima naudoti tik suaktyvinus šią virtualią aplinką.

Norėdami išjungti virtualią aplinką, tiesiog įveskite „deaktyvuoti“.

Greita pastaba apie daiktų įvardijimą – dauguma „virtualenv“, „Django“ ir „Python“ dokumentų paprastai naudoja „venv“ kaip jų pavyzdžių virtualiąją aplinką.

Tai darydami galite susipainioti, nes kompiuteryje galite sukurti keletą skirtingų, ir naudinga atsiminti, kuris yra.

Taip pat „venv“ yra dar vieno „Python“ virtualios aplinkos įrankio pavadinimas.

Naudingas požiūris yra įvardyti aplinką, kad ji būtų susijusi su projektu (pvz., Djenv – django aplinka), tačiau galite tai pavadinti bet kuo, kas jums patinka.

Įdiekite „Django“

Tai gana lengva:

(djenv) ~ / django-projektai > pip diegti django

Galbūt norėsite išjungti virtualią aplinką ir įdiegti „Django“ visos sistemos mastu. Viskas priklauso nuo tavęs.

Bet kuriuo atveju „pip“ pradės diegti „Django“ ir visas jo priklausomybes. Tai gali užtrukti.

Projekto pradžia

„Projektas“ (paprastai) suprantamas kaip viena išsami svetainė (arba potencialiai svetainių grupė).

Svetainė gali turėti keletą skirtingų funkcijų – tinklaraštį, forumą, parduotuvę, pagalbos pokalbį.

Kiekvienas iš jų yra vadinamas „programa“ (arba tiesiog „programa“). Taigi projektas yra programų rinkinys.

Tai svarbu ne tik tai, kaip jūs susisteminate daiktus, bet ir tai, kaip jūs pavadinate daiktus.

Įsivaizduokite, kad norite sukurti naują žiniatinklio programą, leidžiančią žmonėms dalintis nuotraukomis. Jūsų manymu, visa svetainė yra „programa“.

Bet jei jūs inicijuosite savo „Django“ projektą naudodamiesi pavadinimu nuotrauka bendrinti programą (ar bet kurį kitą dalyką), suklaidinsite dubliuotų katalogų pavadinimus.

„Django“ projekto struktūra

„Django“ projekto katalogų struktūra atrodo taip:

– /projekto pavadinimas/
– projekto pavadinimas/
– programos pavadinimas /
– programos pavadinimas /
– programos pavadinimas /

Kai pirmą kartą inicijuosite savo projektą, gausite aukščiausio lygio katalogą, o antrą – jo viduje.

Aukščiausias lygis veikia kaip talpykla likusiai daliai. Antrasis lygis turi viso projekto konfigūracijos failus.

Nauja kuriama programa bus viename (ar keliuose) papildomuose programų kataloguose.

Tai sukelia tam tikrų susierzinimų. Darant prielaidą, kad kuriate kokią nors nuostabią žiniatinklio programą su nuostabiu pavadinimu (vadinkime tai pavadinimu), jei negalvojate apie tai, galiausiai pasielgsite taip:

– / su
– tarp
– ?… ką turėčiau vadinti tuo daiktu, kurį kuriu …? /

Štai šis pasiūlymas:

– / svetainėje /
– į svetainę /
– „wiht_app“ /

Tai daro viską aiškią ir lengvai įsimenamą. Tai taip pat leidžia lengvai įjungti bet kurią bendrąją svetainės funkciją, kurią norite naudoti.

Arba galite sukurti papildomas pritaikytas programas sau, jei jos prasmingos kaip atskiri moduliai:

– / svetainėje /
– į svetainę /
– „wiht_app“ /
– trečiosios šalies tinklaraščio programa /
– trečiosios šalies forumas-programa /
– naudojant „crm“ programą /

„Django“ dokumentuose naudojamas „MySite“, ir tai puikiai tinka pavyzdžiams. Norėsite, kad kiekvieno projekto pavadinimas būtų unikalus.

(Be abejo, jums nereikia kurti naujos programos, kad galėtumėte naudoti „Django“. Galite tiesiog nustatyti projektą ir naudoti esamų programų kolekciją..

Tokiu būdu galite greitai sukurti ir paleisti sudėtingą, daugiafunkcę svetainę, vėliau galėsite lanksčiau pridėti kliento sukurtas programas.)

(Galiausiai) Inicijuokite savo projektą

Bet kuriame „konteinerio“ aplanke (mes naudojome aukščiau esančius / django -projektus) ir įjungę virtualią aplinką, inicijuokite savo naują projektą naudodami django-admin komandą..

(djenv) ~ / django-projektai > „django-admin“ pradžios projektas, esantis svetainėje

Dabar jūs turite:

– / svetainėje /
– tvarkyti.py
– į svetainę /
– __init__.py
– settings.py
– urls.py
– wsgi.py

Dabar paleiskite bandymo serverį, kad įsitikintumėte, jog viskas įvyko teisingai.

(djenv) ~ / django-projektai > cd wiht_site
(djenv) ~ / django-projektai / wiht_site > python manage.py runerver

Gausite tokius rezultatus:

Atliekame sistemos patikrinimus…

Sistemos tikrinime neaptikta jokių problemų (0 nutylėta).

Turite netaikytą migraciją; jūsų programa gali tinkamai neveikti, kol jie nebus pritaikyti.
Norėdami juos pritaikyti, paleiskite „python manage.py migrate“.

2016 balandžio 22 – 17:45:53
„Django“ versija 1.9, naudojant parametrus „wiht_site.settings“
Paleidžiamas kūrimo serveris šiuo adresu: http://127.0.0.1:8000/
Uždarykite serverį naudodami „CONTROL-C“.

Naršyklėje atidarykite http://127.0.0.1:8000 ir turėtumėte pamatyti kažką veikiantį: pranešimą „Welcome to Django“.

Inicijuojate savo pirmąją programą

Tarkime, kad mes visada esame aukščiausio lygio „wiht_site“ kataloge (pakatalogyje) su įjungta „djenv“ aplinka..

Kai pamatysite tai pavyzdžiuose:

>

Tarkime, kad esate čia:

(„djenv“) ~ / „django“ projektai / su programa >

Sukurkite naują programą su „manage.py“.

> python manage.py startapp wiht_app

Tai sukurs naują katalogą / wiht_app / su tokiu turiniu:

– __init__.py
– admin.py
– apps.py
– migracijos /
– __init__.py
– modeliai.py
– testai.py
– peržiūros.py

Dabar turite „įdiegti“ programą. Atidarykite /wiht_site/wiht_site/settings.py ir raskite INSTALLED_APPS. Tai reikia redaguoti, kad būtų įtraukta jūsų naujoji programa.

INSTALLED_APPS = [
„wiht_app“,
„django.contrib.admin“,
„django.contrib.auth“,
„django.contrib.contenttypes“
„django.contrib.sessions“,
„django.contrib.messages“,
„django.contrib.staticfiles“,
]

Kuriant ką nors

„Django“ programos turi kažką panašaus į „Model-View-Controller“ architektūrą, kurią „Django“ dokumentacija kartais vadina „Model-View-Template“..

Tai lemia lengvai pritaikomą, pasikartojantį vystymosi modelį:

  • darbas su modeliu, nustatant, kokie duomenų tipai bus stebimi ir kaip jie susiję vienas su kitu;
  • dirbti su „View“, apibrėždami, kaip turėtų būti prieinami duomenys ir ką daryti, kai duomenys yra manipuliuojami;
  • dirbti su šablonu, apibrėžti, kaip duomenys atrodo, kai jie pateikiami vartotojui arba sunaudojami kita programa.
Modeliai ir migracijos

Naujų funkcijų kūrimas paprastai prasideda kuriant modelius. Modeliai yra klasės (OOP prasme), kurios nusako įvairius objektus jūsų sistemoje ir kaip jie susiję vienas su kitu. Taigi tinklaraščio programoje gali būti skelbimų, puslapių, kategorijų, komentarų ir pan., O gal komentaras yra poklasio rūšis (tipo), o galbūt įrašai ir puslapiai yra „ContentItem“ poklasiai..

Modeliai rašomi kiekvienos programos model.py faile. Čia prasideda labai paprastas dienoraščių įrašų modelis.

iš django.db importo modelių
iš django.contrib.auth.models importo vartotojo

# Sukurkite savo modelius čia.
klasės paštas (modeliai.Modelis):

pavadinimas = modeliai.CharField (
maksimalus ilgis = 100,
)

slug = models.SlugField (
unikalus = tiesa,
)

ištrauka = ​​modeliai.TextField (
maksimalus ilgis = 255,
)

turinys = modeliai.TextField (
blankas = tiesa,
)

autorius = modeliai.ForeignKey (
Vartotojas,
)

sukurtas = modeliai.DateTimeField (
auto_now_add = Tiesa,
)

def __str __ (savęs):
grąžinti save.title

„Django“ turi savo „Object Relational Mapper“ (ORM), kuris teikia duomenų bazės abstrakcijos sluoksnį. Tai leidžia apibrėžti savo duomenų modelį nenurodant konkrečios duomenų bazės valdymo sistemos ir nereikia rašyti SQL.

Kai pridedate modelius, sukuriate ir vykdote perkėlimus. Perkėlimas yra automatiškai sugeneruotas SQL komandų rinkinys, keičiantis duomenų bazės dizainui, kad jis atitiktų modelius – „Django“ ORM paverčia jūsų modelius SQL perkėlimais.

Prieš tai darydami, norėsite nustatyti savo duomenų bazę ir ją prijungti. Čia turite daug galimybių, tačiau dauguma „Django“ vartotojų renkasi „PostgreSQL“, o „Django“ yra specialūs „PostgreSQL“ įrankiai, kurių nėra kitose duomenų bazėse.

Paleidę duomenų bazę galite perkelti.

> python manage.py makemigrations
> python manage.py migruoti

Administratorius

„Django“ pateikia automatinį jūsų duomenų administratoriaus vaizdą, kad beveik iš karto galėtumėte atlikti pagrindines CRUD operacijas su savo modeliais. Ir jei jūsų redagavimo vartotojo sąsaja nėra labai sudėtinga, galite tiesiog naudoti administratoriaus svetainę, nesudarydami savo redagavimo rodinių. Viskas, ką jums reikia padaryti, tai užregistruoti modelį administratoriaus modulyje. Tai atliekama admin.py, jūsų programų kataloge.

iš django.contrib importo administratorius
iš .models importo pašto

admin.site.register (įrašas)

Dabar, norėdami prisijungti ir pasiekti „Admin“, iš komandos sukurkite supervaldiklį.

> python manage.py sukuria vartotoją

Vykdykite terminale pateiktus vartotojo vardo, el. Pašto ir slaptažodžio nurodymus. Tada paleiskite serverį:

> python manage.py runerver

Ir jūs turėtumėte sugebėti prisijungti http://127.0.0.1:8000/admin/. Jei viskas sukonfigūruota teisingai, turėtumėte turėti galimybę peržiūrėti, pridėti, redaguoti ir ištrinti paprastus tinklaraščio įrašus.

Dabar būtų tinkamas laikas sukurti saują pavyzdžių. Kitas žingsnis taps prasmingesnis.

Vaizdas

„Django“ „View“ nėra priekinio ekrano kodas (kuris vadinamas „šablonu“). Tai, ką „Django“ vadina vaizdu, labiau primena „valdiklį“ kitose sistemose. Tai funkcija, kuri gauna HTTP užklausą kaip argumentą ir grąžina atsakymą. Paprastai atsakymas yra tinklalapio turinys, kurį vėliau galima pasiekti iš šablono; atsakymas taip pat gali būti peradresavimas, klaidos pranešimas, failas ar dar kažkas.

Dažniausiai pasitaiko, kad norite nusiųsti užklausą dėl tam tikro turinio (pavyzdžiui, vieno konkretaus įrašo) ir tada gauti visus su tuo turiniu susijusius duomenis (pavadinimą, ištrauką, turinį, Autorius). Kita dažna situacija yra ta, kad norite parodyti turinio elementų sąrašą, pvz., Pirmame tinklaraščio ar naujienų kanalo puslapyje.

„Django“ teikia integruotus bendruosius vaizdus, ​​kad greitai tai atliktumėte. Dvi mes naudosime „ListView“ ir „DetailView“. Jei norėtumėte juos išplėsti ar susikurti savo rodinius, tai padarytumėte apsilankę Views.py, tačiau mes juos naudosime dabar.

Dabar mums tereikia tuos vaizdus susieti su URL. Puslapyje /wiht_site/urls.py turėsite įtraukti konkrečios programos URL atvaizdą.

iš django.conf.urls importo URL, įtraukti
iš django.contrib importo administratorius

urlpatterns = [
URL (r ‘^ admin /’, admin.site.urls),
URL (r ‘^’, įtraukti (‘wiht_app.urls’)),
]

Tada redaguokite savo programos URL URL.py.

iš django.conf.urls importo URL, įtraukti
iš. importuoti rodinius
iš django.views.generic importuoti „ListView“, „DetailView“
iš .models importo pašto

urlpatterns = [
URL (
r ‘^ dienoraštis /

Funkcija url (), apibrėžianti kiekvieną šabloną, turi keletą kableliais atskirtų argumentų:

  • reguliari išraiška, apibrėžianti URL modelį, kuris atitiktų gaunamas užklausas;
  • apibrėžtas vaizdas su argumentais:
    • Modelis;
    • šablono failo pavadinimas;
  • šio URL modelio pavadinimas.

Aukščiau pateikti modeliai suderina / blog / ir / blog / post-slug / URL šablonus su ListView ir DetailView, tada nurodo jų šablonus (index.html ir post.html).

Šablonas

Liko tik sukurti šabloną, kuriame būtų rodomas šis turinys. Django naudoja Jinja šablonus.

Sukurkite tris naujus failus:

/wiht_site/wiht_app/templates/wiht_app/main.html

{% blokuoti turinį%}
{% endblock%}

/wiht_site/wiht_app/templates/wiht_app/index.html

{% pratęsiama "„wiht_app“ / main.html" %}

{% blokuoti turinį%}

Žinutės

{% įrašymui į object_list%}

{{entry.title}}

{{entry.excerpt}}

{% endfor%}

{% endblock%}

/wiht_site/wiht_app/templates/wiht_app/post.html

{% pratęsiama "„wiht_app“ / main.html" %}

{% blokuoti turinį%}

{{post.title}}

{{post.author}}
Paskelbta: {{post.created}}
{{post.content}}

{% endblock%}

Sveikiname, dabar turėtumėte turėti veikiančią tinklaraščio programą.

Tolesni skaitymai ir šaltiniai

Turime daugiau vadovų, vadovėlių ir infografijų, susijusių su kodavimu ir plėtra:

  • „Python“ įvadas, šaltiniai ir DUK: šiame straipsnyje yra daugybė išteklių, kurie padės jums tapti „Python Pro“.
  • Žiniatinklio serverio šliuzo sąsajos pradmuo: sužinokite, kaip naudoti šią specifikaciją, norint naudoti „Python“ rėmus kartu su „Django“.
  • „Ruby on Rails“ įvadas: šis straipsnis supažindins jus su „Python“ ir „Django“ alternatyva.

,
„ListView.as_view“ (
queryset = Post.objects.all (). order_by („sukurtas“) [: 50],
template_name = ”wiht_app / index.html”
),
name = ‘post-list’
),
URL (
r’blog / (? p [a-zA-Z0-9] + (?: – [a-zA-Z0-9] +) *) / Url () funkcija, apibrėžianti kiekvieną piešinį, turi kablelių seką argumentai:

  • reguliari išraiška, apibrėžianti URL modelį, kuris atitiktų gaunamas užklausas;
  • apibrėžtas vaizdas su argumentais:
    • Modelis;
    • šablono failo pavadinimas;
  • šio URL modelio pavadinimas.

Aukščiau pateikti modeliai suderina / blog / ir / blog / post-slug / URL šablonus su ListView ir DetailView, tada nurodo jų šablonus (index.html ir post.html).

Šablonas

Liko tik sukurti šabloną, kuriame būtų rodomas šis turinys. Django naudoja Jinja šablonus.

Sukurkite tris naujus failus:

/wiht_site/wiht_app/templates/wiht_app/main.html

/wiht_site/wiht_app/templates/wiht_app/index.html

/wiht_site/wiht_app/templates/wiht_app/post.html

Sveikiname, dabar turėtumėte turėti veikiančią tinklaraščio programą.

Tolesni skaitymai ir šaltiniai

Turime daugiau vadovų, vadovėlių ir infografijų, susijusių su kodavimu ir plėtra:

  • „Python“ įvadas, šaltiniai ir DUK: šiame straipsnyje yra daugybė išteklių, kurie padės jums tapti „Python Pro“.
  • Žiniatinklio serverio šliuzo sąsajos pradmuo: sužinokite, kaip naudoti šią specifikaciją, norint naudoti „Python“ rėmus kartu su „Django“.
  • „Ruby on Rails“ įvadas: šis straipsnis supažindins jus su „Python“ ir „Django“ alternatyva.

,
„DetailView.as_view“ (
modelis = Skelbti,
šablono_pavadinimas ="„wiht_app“ / post.html"),
vardas ="paštu"
)
]

Funkcija url (), apibrėžianti kiekvieną šabloną, turi keletą kableliais atskirtų argumentų:

  • reguliari išraiška, apibrėžianti URL modelį, kuris atitiktų gaunamas užklausas;
  • apibrėžtas vaizdas su argumentais:
    • Modelis;
    • šablono failo pavadinimas;
  • šio URL modelio pavadinimas.

Aukščiau pateikti modeliai suderina / blog / ir / blog / post-slug / URL šablonus su ListView ir DetailView, tada nurodo jų šablonus (index.html ir post.html).

Šablonas

Liko tik sukurti šabloną, kuriame būtų rodomas šis turinys. Django naudoja Jinja šablonus.

Sukurkite tris naujus failus:

/wiht_site/wiht_app/templates/wiht_app/main.html

/wiht_site/wiht_app/templates/wiht_app/index.html

/wiht_site/wiht_app/templates/wiht_app/post.html

Sveikiname, dabar turėtumėte turėti veikiančią tinklaraščio programą.

interneto prieglobos kuponas

Ieškote labai daug „Django“ hostingo?
„A2 Hostingas“ užėmė pirmą vietą mūsų naujausiuose greičio ir našumo bandymuose. Šiuo metu galite sutaupyti iki 50% jų kūrėjų planų.
Naudokite šią nuolaidų nuorodą
norint susitarti.

Tolesni skaitymai ir šaltiniai

Turime daugiau vadovų, vadovėlių ir infografijų, susijusių su kodavimu ir plėtra:

  • „Python“ įvadas, šaltiniai ir DUK: šiame straipsnyje yra daugybė išteklių, kurie padės jums tapti „Python Pro“.
  • Žiniatinklio serverio šliuzo sąsajos pradmuo: sužinokite, kaip naudoti šią specifikaciją, norint naudoti „Python“ rėmus kartu su „Django“.
  • „Ruby on Rails“ įvadas: šis straipsnis supažindins jus su „Python“ ir „Django“ alternatyva.
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me