Django egy erőteljes, nyílt forráskódú, Python-alapú webes keretrendszer, amely leegyszerűsíti a weboldalak és webalkalmazások létrehozásának és kezelésének folyamatát. A Django alkalmazások skálázhatók, nagy teljesítményűek és biztonságosak. Emellett igazán jó dokumentációval rendelkezik a keretrendszer minden egyes részéhez.
A Django-sorozatunkban a Djangót egy alapvető blogfunkciókkal rendelkező mintaweboldal megvalósításával fedeztük fel. Ebben az útmutatóban végigmegyünk a Django-alkalmazásunkhoz tartozó mintanézet (view) létrehozásának lépésein.
Előfeltételek
Az útmutató követéséhez a következő összetevőkre lesz szüksége.
- Egy Ubuntu szerver megfelelő konfigurációval. Tudjon meg többet az Ubuntu szerver beállításáról.
- Megfelelően konfigurált Python fejlesztői környezet.
- Egy adatbázis-szerver, például MySQL. Ez az útmutató részletesen bemutatja a MySQL telepítését és konfigurálását Ubuntu szerveren.
Ez az útmutató a Django-ról szóló sorozatunk folytatása. Először érdemes lehet áttekinteni a korábbi útmutatókat a Django beállításáról, a Django adatbázis-kapcsolat létrehozásáról, a modellek létrehozásáról, valamint a Django Admin felület engedélyezéséről.
Ebben az útmutatóban bemutatjuk, hogyan hozhat létre olyan Django nézeteket (views), amelyek lehetővé teszik a webalkalmazás számára a webes kérések megfelelő kezelését és a megfelelő válasz visszaküldését. Ahogy azt a Django hivatalos dokumentációja leírja, a webes válasz lehet egy weboldal HTML-tartalma, egy átirányítás vagy egy HTTP-hiba. Nincs meghatározott hely a nézetfüggvények tárolására, amíg azok a Python elérési útvonalain belül vannak. Vannak azonban népszerű konvenciók a fájlok elnevezésére és elhelyezésére. Ez az útmutató ezeket a konvenciókat fogja követni.
1. lépés: A virtuális környezet aktiválása
A Djangót legcélszerűbb Python virtuális környezetben futtatni. A Django alkalmazásunk sample_app egy dedikált virtuális környezetben jött létre. Először aktiválja a virtuális környezetet:
|
1 2 3 |
cd sample_app/ . sample_app_env/bin/activate |
2. lépés: Nézetfüggvények létrehozása
Navigáljon a random_app könyvtárba, amely a blog weboldalunk modelljeit tartalmazza:
|
1 |
cd random_app/ |
Itt a views.py fájl fogja tartalmazni a nézeteink létrehozásához szükséges kódokat. Nyissa meg egy szövegszerkesztőben:
|
1 |
nano views.py |

Szükségünk van a render() függvényre a django.shortcuts könyvtárból, így az első sor változatlan marad. A render() függvény segít kombinálni a sablont (template) és a kontextust, hogy azokat megfelelő HttpResponse objektumként adja vissza.
Az első nézet a kezdőlapra érkező felhasználókat fogja üdvözölni. Importálnunk kell a függvényt HttpResponse() a Django http:
|
1 2 3 4 5 6 7 8 |
from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse(Ön az üdvözlőoldalra érkezettpage') def individual_post(request): return HttpResponse('Az egyedi bejegyzések itt fognak megjelenni') |

Mentse a fájlt, és zárja be a szerkesztőt.
3. lépés: URL-ek hozzárendelése a nézetekhez
Jelenleg nincs URL hozzárendelve ezekhez a függvényekhez, így nem érhetők el. Hozzá kell adnunk egy másik urlpatterns blokkot az URL-konfigurációs fájlon belül. A Pythonban ezt URLconf (URL-konfigurációs) fájlnak nevezik.
A Djangónak meg kell határoznia a gyökér URLconf modult, amelyet használnia kell. Ezután megvizsgálja az urlpatterns listát, amely az összes URL-mintát tartalmazza. A Django ezután végigmegy a fájlon, amíg meg nem találja az első egyezést. Ha megtalálta az egyezést, a Django megkeresi a hozzá tartozó nézetet. Ez a nézetfüggvény megkapja az URL-mintához kapcsolódó adatokat és egy HttpRequest objektumot. A folyamat bármely pontján fellépő hiba egy hibakezelő nézetre.
Nyissa meg a urls.py fájlt a random_app könyvtárban egy szövegszerkesztővel:
|
1 |
nano urls.py |
Írja be a következő kódot:
|
1 2 3 4 5 6 7 |
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('post/', views.individual_post, name='individual_post') ] |

Mentse el a fájlt, és zárja be a szerkesztőt.
Ha kész, meg kell adnunk az URL-fájl elérési útját is a következő alatt: sample_app könyvtár URLconf fájljában. Ellenkező esetben a Django alkalmazásunk nem fogja felismerni. Ez azért van, mert a URLconf a sample_app esetében a ROOT_URLCONF értékre van beállítva a beállítási fájlban.
Navigáljon az alkalmazásunk könyvtárába: sample_app:
|
1 |
cd sample_app/sample_app/sample_app/ |
![]()
Nyissa meg a urls.py fájlt egy szövegszerkesztőben:
|
1 |
nano urls.py |

Írja be a következő kódot a fájlba:
|
1 2 3 4 5 6 7 |
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('random_app.urls')) ] |

Teszteljük a változtatásokat. Indítsa el a Django alkalmazásszervert a localhost:8000:
|
1 |
python manage.py runserver localhost:8000 |

Navigáljon a következő URL-re:
|
1 |
localhost:8000 |

Ellenőrizze a bejegyzés URL-jét:
|
1 |
localhost:8000/posts |
4. lépés: Blogbejegyzés létrehozása
Meghatároztuk az URL-mintáinkat, és megvizsgáltuk a munkafolyamataikat. Itt az ideje, hogy hozzáadjunk egy minta blogbejegyzést, és megnézzük az eredményt.
Az adminisztrációs panelen navigáljon a random_app oldalra:
|
1 |
localhost:8000/admin/random_app/ |

Kattintson az +Add linkre a Posts sorban:

Az új weboldalon egy űrlap jelenik meg, amely a következő mezőkből áll.
- Title: A blogbejegyzés címe.
- Slug: Ez a webcím azon része, amely ember által olvasható kulcsszavakat tartalmaz. Általában a slug-ok a bejegyzés címe alapján jönnek létre.
- Content: A blogbejegyzés törzse.
- Author: A vonatkozó felhasználónév.
Kattintson a SAVE gombra a bejegyzés elküldéséhez:

5. lépés: Az adatok megjelenítése az adatbázisban
A következő részben az adatbázisunkkal fogunk dolgozni. Jelentkezzen be a MySQL adatbázisba a Django-hoz rendelt felhasználóként:
|
1 |
mysql -u sample_app_user -p |

Ellenőrizzük, hogy a bejegyzésünk sikeresen regisztrálva lett-e az adatbázisban:
|
1 |
USE sample_app_data; |

|
1 |
SELECT * FROM random_app_post; |

Voila! A bejegyzés sikeresen regisztrálva lett! Most már kiléphet a MySQL shellből.
6. lépés: További nézetmódosítások
Van még néhány dolog, amit megtehetünk a nézeteinkkel. Nyissa meg a fájlt egy szövegszerkesztőben:
|
1 |
nano views.py |
A kódnak így kell kinéznie:
|
1 2 3 4 5 6 7 8 9 10 |
from django.shortcuts import render from django.http import HttpResponse from .models import Post def index(request): return HttpResponse('Hello, welcome to the index page.') def individual_post(request): recent_post = Post.objects.get(id__exact=1) return HttpResponse(recent_post.title + ': ' + recent_post.content) |

Itt hozzáadtunk egy további import utasítást a Post. A HttpResponse osztályból származó idézőjeles karakterláncot is lecseréltük a blogbejegyzésünkből származó adatokra. Az adatokra való hivatkozáshoz a blogbejegyzés azonosítóját használjuk a kapcsolódó objektummal. Az azonosítót a recent_post változóban tároljuk. Most már kinyerhetjük az objektum egyes mezőit úgy, hogy a mezőnevet egy pont választóval fűzzük hozzá.
A módosítás után ellenőrizzük a változtatásokat. Indítsa el a Django szervert:
|
1 |
python manage.py runserver localhost:8000 |

Most nyissa meg a Posts oldalt:
|
1 |
localhost:8000/posts |

Meg kell jelennie a létrehozott blogbejegyzésnek.
7. lépés: Kilépés a projektből
A Django szerverből való kilépéshez nyomja meg a Ctrl + C gombot a terminálban. A Python virtuális környezet deaktiválásához futtassa a következő parancsot:
|
1 |
deactivate |
Záró gondolatok
Ebben az útmutatóban sikeresen bemutattuk a nézetek létrehozását, az URL-minták leképezését és a szövegek megjelenítését egy weboldalon a random_app adatbázisából, a következőben: Django.Ezek a Django alapvető koncepciói, amelyeket szükséges megérteni és elsajátítani.
Íme további források, amelyek segítenek a Django alkalmazások létrehozásában és kezelésében:
- Django alkalmazás létrehozása adatbázis-kapcsolattal: Útmutató
- Django és Gunicorn alkalmazás építése Dockerrel Ubuntu-n
- Hogyan biztosítsunk és skálázzunk egy Django alkalmazást Docker, Nginx és Let’s Encrypt segítségével
Kellemes kódolást!

Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.