Byrjaðu með Django – Kynning og kennsla

Birting: Stuðningur þinn hjálpar til við að halda vefnum í gangi! Við þénum tilvísunargjald fyrir sumar þjónusturnar sem við mælum með á þessari síðu.


Django er hröð þróun ramma fyrir vefforrit, skrifað í Python.

Þróunarrammi er forritaragrind með sett verkfæri til að smíða hugbúnað fljótt og álit um hvernig hugbúnaður ætti að byggja.

Rammar draga úr „ketilplötu“ kóðanum með því að bjóða upp á algengustu aðgerðirnar – tengingu gagnagrunns, notendaskrár, stjórnun fundar, beiðni um beina leið. Þetta er þörf í næstum hverju forriti, óháð sérstökum tilgangi forritsins, og það þarf ekki að endurhanna það fyrir hvert nýtt verkefni.

Þróunarrammi veitir einnig arkitektúr fyrir kerfið. Frekar en að eyða tíma og orku í að ákveða hvernig eigi að skipuleggja kóða (eða eiga í endalausum vandræðum með að gera það ekki), hefur ramma rétt leið til að skipuleggja eiginleika, svo þú getur bara byrjað að búa til þá.

Við munum sjá hvernig þessi uppbygging lítur út þegar við göngum með að setja upp fyrsta forrit.

Að byrja

Það eina sem þú þarft raunverulega er aðgangur að internetinu, mjög grunnþekking á skipanalínunni og kóða ritstjóra.

Flestir Linux notendur vita líklega hvernig þeir komast í flugstöðina sína, en hér er fljótleg leiðarvísir fyrir Linux flugstöðina ef þú gerir það ekki. Ef þú ert á Mac OS X hefurðu Linux / Unix-líkar skipanalínur aðgengilegar í Terminal forritinu.

Windows stjórnskipanin er aðeins frábrugðin þeirri sem er á Mac OS X og Linux (kallað bash).

Þú getur notað Windows Powershell, en þú verður að “þýða” töluvert – ekki bara hér heldur í flestum öðrum námskeiðum og tilvísunarleiðbeiningum.

Auðveldasta aðferðin er líklega að einfaldlega setja upp grunnstöðvar.

Þú hefur nokkra möguleika:

  • Cygwin: þetta er safn af Linux / Unix verkfærum fyrir Windows, þar á meðal grunnstöð.
  • Gitbash: Git fyrir Windows kemur með grunn útfærslu. Þú munt líklega vilja nota git (og Github) til að stjórna útgáfu samt sem áður, svo þetta er ansi auðveld lausn.
  • Windows 10 inniheldur Ubash-undirstaða Bash skel, sem er ótrúlegt. Það þarf svolítið að gera til að það virki.

Set upp allt

Það eru nokkur skref til að koma Django í gang: Python, uppfærðu Python pakkastjóra, settu upp sýndarumhverfi þitt og settu upp Django.

Python

Ef þú ert ekki með Python í tölvunni þinni þarftu það. Sjá síðu Python niðurhals fyrir tengla á Python fyrir öll helstu stýrikerfin.

Þú vilt Python 3, ekki Python 2. Þú getur notað Python 2 með Django, en Python 3 er nútíð og framtíð tungumálsins.

Ef þú ert bara að komast í Python og Django skaltu nota Python 3.

Þú gætir verið með Python 2 í tölvunni þinni. Frá og með þessu skrifa Mac OS X með Python 2, og nokkrar Linux dreifingar gera það líka. Settu upp Python 3 og notaðu það. (Að hafa tvær útgáfur af Python á tölvunni þinni verður ekki vandamál, eins og þú sérð í næstu skrefum.)

Ef þú ert ekki viss um hvaða útgáfu Python þú ert með skaltu slá python inn í skipanalínuna.

Það mun segja þér. Til dæmis er eftirfarandi það sem þú myndir sjá hvort þú ert að keyra Python útgáfu 3.5.1:

> Python
Python 3.5.1 (v3.5.1: 37a07cee5969, 5. des 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. byggja 5666) (punktur 3)] á darwin
Tegund "hjálp", "höfundarrétt", "ein" eða "leyfi" fyrir meiri upplýsingar.

Ef að keyra Python sýnir v2 skaltu prófa python3. Ef þú ert með Python 3 uppsett, ætti það að segja þér.

Uppfærðu Python pakkastjóra

Python skip með pip, Python pakkastjóri. Hins vegar þarftu að uppfæra það (Python uppsetningarbúntin verða ekki uppfærð í hvert skipti sem pip uppfærslur). Sem betur fer, pip uppfærir sig með skjótum flugstöðvarskipun:

> pip setja – uppfæra pip

Python sýndarumhverfi

Sérhver Python verkefni, þar með talin Django verkefni, mun venjulega fela í sér fjölda aðskildra þriðja aðila pakka.

Ef þú notar Python mikið muntu að lokum hafa útgáfuárekstra – þetta verkefni þarf v4.3 af einhverju meðan það verkefni þarf v5.1. Lausnin er sýndarumhverfi Python.

Það eru nokkur sýndarumhverfistæki fyrir Python. Við notum virtualenv. Í fyrsta lagi skaltu setja það upp með pip:

> pip setja virtualenv

Næst skaltu setja upp Sýndarumhverfi fyrir Django verkefnið þitt. Búðu til nýja skrá sem mun hýsa Django verkefnið þitt.

Þessi skrá mun innihalda verkefnalistann þinn og ýmislegt fleira, svo til að forðast að rugla þig gæti verið best að gefa henni annað nafn en verkefnis nafnið þitt. Við munum kalla þetta django verkefni.

Búðu til gámaskrána, keyrðu síðan virtualenv innan úr skránni.

Þegar þú keyrir virtualenv munum við tilgreina python3 og gefa umhverfinu nafn (djenv) og virkja síðan sýndarumhverfið.

> mkdir django-verkefni
> CD django verkefni
~ / django-verkefni > virtualenv -p python3 djenv
~ / django-verkefni > fengið djenv / bin / Activ
(djenv) ~ / django-verkefni >

Þú ert núna í sýndarumhverfi sem heitir djenv. Allir pipapakkar sem þú setur upp eða uppfærir verða aðeins tiltækir þegar þetta Sýndarumhverfi er virkt.

Til að slökkva á Sýndarumhverfinu, sláðu bara inn óvirkan.

Fljótleg athugasemd um að nefna hluti – flest skjöl fyrir virtualenv, Django og Python almennt notar venv sem nafn á dæmi þeirra Virtual Virtual Environment.

Að gera það getur orðið ruglingslegt vegna þess að þú gætir búið til nokkrar mismunandi á tölvunni þinni og það er gagnlegt að muna hver er.

Venv er einnig nafn annars Python sýndarumhverfis tól.

Gagnleg nálgun er að nefna umhverfið eitthvað að gera með verkefnið (eins og djenv fyrir django umhverfi), en þú getur nefnt það hvað sem þér líkar.

Settu upp Django

Þetta er frekar auðvelt:

(djenv) ~ / django-verkefni > pip setja django

Þú gætir viljað slökkva á sýndarumhverfinu þínu og sett upp Django kerfisbundið. Þú ræður.

Hvort heldur sem er, pip mun byrja að setja upp Django og allar háð þess. Þetta gæti tekið nokkurn tíma.

Að hefja verkefni

„Verkefni“ er (almennt) skilið sem ein heild, vefsíða (eða hugsanlega fjölskylda vefsvæða).

Vefsvæði gæti verið með mismunandi aðgerðir – blogg, vettvang, verslun, hjálparspjall.

Hver og einn af þessum er kallaður „forrit“ (eða bara „app“). Svo verkefni er safn af forritum.

Þetta skiptir máli fyrir hvernig þú skipulagir hlutina, en það skiptir líka máli fyrir það hvernig þú nefnir hlutina.

Ímyndaðu þér að þú viljir smíða nýtt vefforrit sem gerir fólki kleift að deila myndum. Í þínum huga er öll þessi síða „forritið.“

En ef þú frumstilla Django verkefnið þitt með nafninu photo-share-app (eða hvað sem er), þá muntu rugla saman við afritaða skráarnöfnin þín.

Uppbygging Django verkefnis

Skráasafn Django verkefnis lítur svona út:

– /nafn verkefnis/
– nafn verkefnis/
– forritsheiti /
– forritsheiti /
– forritsheiti /

Þegar þú frumstilla verkefnið þitt fyrst muntu fá toppgagnasafn verkefnisins og það síðara innan þess.

Efsta stigið virkar sem ílát fyrir afganginn af því. Annað stigið hefur stillingarskrár fyrir verkefnið í heild sinni.

Nýja forritið sem þú ert að byggja verður í einu (eða fleiri) viðbótar möppum.

Þetta skapar gremju. Miðað við að þú sért að smíða eitthvað ótrúlegt nýtt vefforrit með æðislegu nafni (við skulum kalla það með), ef þú hugsar ekki um það, þá endarðu svona:

– / með /
– með /
– ?… hvað ætti ég að kalla hlutinn sem ég er að byggja …? /

Hérna er tillaga:

– / wiht_site /
– wiht_site /
– wiht_app /

Þetta gerir allt skýrt og auðvelt að muna. Einnig gerir það auðvelt að einfaldlega festa alla almenna vefsíðuaðgerðir sem þú vilt nota.

Eða þú getur smíðað fleiri sérsniðin forrit fyrir sjálfan þig, ef þau eru skynsamleg sem sjálfstæðar einingar:

– / wiht_site /
– wiht_site /
– wiht_app /
– þriðja aðila-blogg-app /
– þriðja aðila-forum-app /
– wiht-crm-app /

Django Docs nota mysite og það er fínt fyrir dæmi. Þú vilt fá einstakt nafn fyrir hvert verkefni.

(Auðvitað þarftu ekki að smíða nýtt forrit til að nota Django. Þú gætir bara sett upp verkefni og notað safn af núverandi forritum.

Þú getur fengið flókna vefsíðu sem er virk í gangi ansi fljótt með þessum hætti og haft sveigjanleika seinna til að bæta við smíðuðum forritum.)

(Að lokum) Frumstilla verkefnið

Inni í hverri „gáma“ skránni (við notuðum / django-verkefni hér að ofan), og með Sýndarumhverfi þitt virkt, frumstilla nýja verkefnið með django-admin stjórninni.

(djenv) ~ / django-verkefni > django-admin upphafsverkefni wiht_site

Nú hefur þú:

– / wiht_site /
– stjórna.py
– wiht_site /
– __init__.py
– settings.py
– urls.py
– wsgi.py

Nú skaltu keyra prófþjóninn til að ganga úr skugga um að allt hafi gerst rétt.

(djenv) ~ / django-verkefni > geisladiskur wiht_site
(djenv) ~ / django-projects / wiht_site > python stjórna.py hlaupara

Þú munt fá smá framleiðsla eins og:

Framkvæma kerfisskoðanir…

Kerfisathugun bent á engin vandamál (0 þaggað niður).

Þú hefur ekki beitt fólksflutningum; appið þitt virkar kannski ekki rétt fyrr en það er notað.
Keyra ‘python manage.py migrate’ til að beita þeim.

22. apríl 2016 – 17:45:53
Django útgáfa 1.9, með stillingum ‘wiht_site.settings’
Byrjar þróun netþjóns á http://127.0.0.1:8000/
Hættu við netþjóninn með CONTROL-C.

Opnaðu http://127.0.0.1:8000 í vafra og þú ættir að sjá eitthvað virka: skilaboð „Velkomin í Django“.

Frumstilla fyrsta forritið þitt

Héðan, gerum ráð fyrir að við séum alltaf í efstu stigi skráasafnsins (undirskrá) með djenv umhverfið virkt.

Þegar þú sérð þetta í dæmunum:

>

Gerðu ráð fyrir að þú sért hér:

(djenv) ~ / django-projects / wiht-app >

Búðu til nýtt forrit með manage.py.

> python stjórna.py startapp wiht_app

Þetta mun búa til nýja skrá, / wiht_app /, með eftirfarandi innihaldi:

– __init__.py
– admin.py
– apps.py
– búferlaflutningar /
– __init__.py
– módel.py
– prófs.py
– skoðanir.py

Nú þarftu að “setja upp” forritið. Opnaðu /wiht_site/wiht_site/settings.py og finndu INSTALLED_APPS. Þessu þarf að breyta til að innihalda nýja forritið þitt.

INSTALLED_APPS = [
‘wiht_app’,
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
]

Að þróa eitthvað

Django smáforrit eru með eitthvað nálægt líkanaritun-stjórnandi arkitektúr, sem skjöl frá Django kalla stundum Model-View-Template.

Þetta leiðir til auðvelt að tileinka sér, endurtekningarmynstur:

  • vinna að líkaninu og skilgreina hvaða tegundir gagna verða rakin og hvernig þau tengjast hvert öðru;
  • vinna að Útsýninu, skilgreina hvernig aðgangur skuli að gögnum og hvað á að gera þegar unnið er með gögn;
  • vinna að sniðmátinu og skilgreina hvernig gögn líta út þegar þau eru birt notanda eða neytt af öðru forriti.
Fyrirmyndir og fólksflutningar

Uppbygging nýrra aðgerða byrjar venjulega með því að búa til módel. Líkön eru flokkar (í OOP skilningi) sem skilgreina hina ýmsu hluti í kerfinu þínu og hvernig þeir tengjast hver öðrum. Svo í bloggforriti gætirðu verið með fyrirmyndir fyrir færslu, síðu, flokk, athugasemd og svo framvegis – og kannski er athugasemd undirflokkur (tegund af) færslu og kannski eru færslur og síður undirflokkar ContentItem.

Líkön eru skrifuð í models.py skrá hvers forrits. Hér er byrjunin á mjög einföldu fyrirmynd fyrir bloggfærslur.

frá innflutningslíkönum django.db
frá django.contrib.auth.models flytja notanda

# Búðu til líkön þín hér.
bekkjarpóstur (módel. módel):

title = models.CharField (
max_length = 100,
)

snigill = módel.SlugField (
einstakt = satt,
)

útdráttur = módel.TextField (
max_length = 255,
)

innihald = módel.TextField (
autt = satt,
)

höfundur = módel.
Notandi,
)

búið til = models.DateTimeField (
auto_now_add = True,
)

def __str __ (sjálfstætt):
skila sjálf.title

Django hefur sinn eigin Object Relational Mapper (ORM), sem veitir lag af abstrakt í gagnagrunninn. Þetta gerir þér kleift að skilgreina gagnalíkanið þitt án tilvísunar í ákveðið gagnabankastjórnunarkerfi og án þess að þurfa að skrifa SQL.

Þegar þú bætir við gerðum býrðu til og keyrir síðan flutninga. Flæði er sjálfkrafa myndað stillt á SQL skipanir sem breyta gagnagrunnihönnuninni til að passa við líkönin – ORM Django þýðir gerðir þínar í SQL flutninga.

Áður en þú gerir það þarftu að setja upp gagnagrunninn og tengja hann. Þú hefur marga möguleika hérna, en flestir notendur Django kjósa PostgreSQL, og það eru sérstök PostgreSQL verkfæri fyrir Django sem eru ekki fáanleg fyrir aðra gagnagrunna.

Þegar gagnagrunnurinn er í gangi geturðu flutt.

> python manage.py makemigrations
> python manage.py flytja

Stjórnandi

Django býður upp á sjálfvirka stjórnunarskoðun á gögnunum þínum svo að þú getir framkvæmt grunn CRUD aðgerðir með gerðum þínum næstum því strax. Og ef þínum notendaviðmóti fyrir klippingu er ekki ofboðslega flókið geturðu bara notað Admin vefsvæðið án þess að búa til þínar eigin skoðunarskoðanir. Allt sem þú þarft að gera er að skrá líkanið með Admin einingunni. Þetta er gert í admin.py, inni í forritaskránni.

frá django.contrib innflutningsstjóra
frá .models flytja Post

admin.site.register (Færsla)

Nú til að skrá þig inn og fá aðgang að stjórnanda skaltu búa til ofurnotanda úr skipanalínunni.

> python stjórna.py skapar notanda

Fylgdu leiðbeiningunum í flugstöðinni um notandanafn, tölvupóst og lykilorð. Ræstu síðan þjóninn:

> python stjórna.py hlaupara

Og þú ættir að geta skráð þig inn á http://127.0.0.1:8000/admin/. Ef allt er rétt stillt, þá ættir þú að geta skoðað, bætt við, breytt og eytt einföldum bloggfærslum.

Nú væri góður tími til að búa til handfylli af sýnishornapóstum. Það mun gera næsta skref þýðingarmeira.

Útsýnið

Í Django er „Skoða“ ekki skjákóðinn í framhliðinni (sem kallast „Sniðmát“). Það sem Django kallar útsýnið er meira eins og „stjórnandi“ í öðrum ramma. Það er fall sem fær HTTP beiðni sem rök og skilar svari. Venjulega er svarið innihald vefsíðu sem er síðan aðgengilegt úr sniðmáti; svar getur líka verið tilvísun, villuboð, skrá eða eitthvað annað.

Algengasta ástandið er að þú vilt senda beiðni um tiltekið efnisyfirlit (til dæmis eina tiltekna færslu) og fá síðan öll gögn sem tengjast því innihaldsefni (titill, útdráttur, innihald, höfundurinn). Önnur algeng staða er að þú vilt birta lista yfir innihaldsefni, eins og á forsíðu bloggs eða fréttabands.

Django veitir innbyggða almenna sýn til að ná þessum árangri hratt. Þau tvö sem við munum nota eru ListView og DetailView. Ef þú vilt lengja þær eða búa til þínar eigin skoðanir myndirðu gera það í views.py, en við munum nota þær eins og er í bili.

Nú verðum við bara að kortleggja þær skoðanir á vefslóðir. Í /wiht_site/urls.py þarftu að vera með app-sértækar URL kortlagningar.

frá innflutningi url django.conf.urls, innihalda
frá django.contrib innflutningsstjóra

urlpatterns = [
url (r ‘^ admin /’, admin.site.urls),
url (r ‘^’, innihalda (‘wiht_app.urls’)),
]

Breyttu síðan Urls.py forritsins.

frá innflutningi url django.conf.urls, innihalda
frá. flytja inn skoðanir
frá django.views.generic import ListView, DetailView
frá .models flytja Post

urlpatterns = [
url (
r ‘^ blogg /

Aðgerðin url () sem skilgreinir hvert mynstur er með röð af aðgreindum rökum:

  • regluleg tjáning sem skilgreinir vefslóðamynstur til að passa við komandi beiðnir á móti;
  • skilgreint útsýni, með rökum:
    • Líkan;
    • sniðmát skráarheiti;
  • nafn þessa url mynstur.

Ofangreind mynstur passa við / blog / og / blog / post-snigill / URL mynstrið við ListView og DetailView og tilgreinir síðan sniðmát þeirra (index.html og post.html).

Sniðmát

Það eina sem er eftir er að búa til sniðmát til að birta þetta efni. Django notar Jinja sniðmát.

Búðu til þrjár nýjar skrár:

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

{% loka fyrir innihald%}
{% endablokk%}

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

{% nær út "wiht_app / main.html" %}

{% loka fyrir innihald%}

Færslur

{% fyrir færslu í object_list%}

{{entry.title}}

{{entry.excerpt}}

{% endfor%}

{% endablokk%}

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

{% nær út "wiht_app / main.html" %}

{% loka fyrir innihald%}

{{post.title}}

{{post.author}}
Sent á: {{post.created}}
{{post.content}}

{% endablokk%}

Til hamingju, þú ættir nú að hafa starfandi bloggumsókn.

Frekari upplestur og úrræði

Við höfum fleiri handbækur, námskeið og infografics sem tengjast forritun og þróun:

  • Python kynning, auðlindir og algengar spurningar: þessi grein inniheldur fjöldann allan af auðlindum til að hjálpa þér að verða Python atvinnumaður.
  • Gateway Interface Web Server Gateway: læra hvernig á að nota þessa forskrift til að nota Python ramma með Django.
  • Kynning á Ruby on Rails: þessi grein mun kynna þér val í Python og Django.

,
ListView.as_view (
queryset = Post.objects.all (). order_by (“búið”) [: 50],
template_name = ”wiht_app / index.html”
),
name = ‘póstlisti’
),
url (
r’blog / (? P [a-zA-Z0-9] + (?: – [a-zA-Z0-9] +) *) / url () aðgerðin sem skilgreinir hvert mynstur er röð kommu aðskilin rök:

  • regluleg tjáning sem skilgreinir vefslóðamynstur til að passa við komandi beiðnir á móti;
  • skilgreint útsýni, með rökum:
    • Líkan;
    • sniðmát skráarheiti;
  • nafn þessa url mynstur.

Ofangreind mynstur passa við / blog / og / blog / post-snigill / URL mynstrið við ListView og DetailView og tilgreinir síðan sniðmát þeirra (index.html og post.html).

Sniðmát

Það eina sem er eftir er að búa til sniðmát til að birta þetta efni. Django notar Jinja sniðmát.

Búðu til þrjár nýjar skrár:

/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

Til hamingju, þú ættir nú að hafa starfandi bloggumsókn.

Frekari upplestur og úrræði

Við höfum fleiri handbækur, námskeið og infografics sem tengjast forritun og þróun:

  • Python kynning, auðlindir og algengar spurningar: þessi grein inniheldur fjöldann allan af auðlindum til að hjálpa þér að verða Python atvinnumaður.
  • Gateway Interface Web Server Gateway: læra hvernig á að nota þessa forskrift til að nota Python ramma með Django.
  • Kynning á Ruby on Rails: þessi grein mun kynna þér val í Python og Django.

,
DetailView.as_view (
líkan = Færsla,
template_name ="wiht_app / post.html"),
nafn ="staða"
)
]

Aðgerðin url () sem skilgreinir hvert mynstur er með röð af aðgreindum rökum:

  • regluleg tjáning sem skilgreinir vefslóðamynstur til að passa við komandi beiðnir á móti;
  • skilgreint útsýni, með rökum:
    • Líkan;
    • sniðmát skráarheiti;
  • nafn þessa url mynstur.

Ofangreind mynstur passa við / blog / og / blog / post-snigill / URL mynstrið við ListView og DetailView og tilgreinir síðan sniðmát þeirra (index.html og post.html).

Sniðmát

Það eina sem er eftir er að búa til sniðmát til að birta þetta efni. Django notar Jinja sniðmát.

Búðu til þrjár nýjar skrár:

/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

Til hamingju, þú ættir nú að hafa starfandi bloggumsókn.

afsláttarmiða fyrir vefþjónusta

Ertu að leita að miklu í Django hýsingu?
A2 Hosting hýsti # 1 í nýlegum hrað- og árangursprófum okkar. Núna er hægt að spara allt að 50% af áætlunum sínum sem eru hönnuð af hönnuðum.
Notaðu þennan afsláttartengil
til að fá samninginn.

Frekari upplestur og úrræði

Við höfum fleiri handbækur, námskeið og infografics sem tengjast forritun og þróun:

  • Python kynning, auðlindir og algengar spurningar: þessi grein inniheldur fjöldann allan af auðlindum til að hjálpa þér að verða Python atvinnumaður.
  • Gateway Interface Web Server Gateway: læra hvernig á að nota þessa forskrift til að nota Python ramma með Django.
  • Kynning á Ruby on Rails: þessi grein mun kynna þér val í Python og Django.
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me