Diákok adatbázisa weboldalon
Feladatleírás:
Készíts egy weboldalt, amely lehetővé teszi a felhasználók számára, hogy diákok adatait adják meg, mentse azokat egy listába, és lehetővé tegye a diákok törlését, módosítását is.
A feladatot valósítsa meg Python Flask segítségével.
Későbbi cél: A diákok adatainak MySQL adatbázisba való tárolása és az adatok kezelése.
Követelmények:
- A weboldal kérje be a diákok adatait:
- Név (legalább 3 karakter hosszú és csak betűket tartalmazzon)
- Email (érvényes email cím)
- Telefonszám (érvényes mobiltelefon szám)
- Életkor (pozitív egész szám)
- Hobbi (legalább 3 karakter hosszú)
- Érdeklődési kör (legalább 3 karakter hosszú)
- Validálja az adatokat:
- Ellenőrizze, hogy a név, hobbi és érdeklődési kör legalább 3 karakter hosszú-e
- Ellenőrizze, hogy az email érvényes-e
- Ellenőrizze, hogy a telefonszám érvényes-e. (mobil számra elég az ellenőrzés)
- Ellenőrizze, hogy az életkor pozitív egész szám-e.
- A bekért adatokat mentse egy listába, amikor a felhasználó a "Mentés" gombra kattint.
- A weboldalon jelenjen meg a diákok listája.
További követelmények:
- Tegye lehetővé a diákok törlését:
- Egy törlés gomb jelenjen meg minden diák mellett.
- Amikor a felhasználó a törlés gombra kattint, a diák adatai törlődjenek a listából.
- Tegye lehetővé a diákok módosítását:
- Egy módosítás gomb jelenjen meg minden diák mellett.
- Amikor a felhasználó a módosítás gombra kattint, egy új oldal jelenjen meg, ahol a felhasználó módosíthatja a diák adatait.
Követelmények részletezése:
- A weboldal legyen felhasználóbarát és könnyen használható.
- A diákok adatai legyenek megfelelően formázva és megjelenítve.
- A lista legyen frissíthető, amikor új diákot adnak hozzá.
Segítség:
A listát egyszerűen a következőképpen tudod kiíratni a weboldalon:
server oldalon kirendeljük az adatokat:
return render_template('index.html', diakok=diakok)
<h2>Diákok listája</h2>
<ul>
{% for diak in diakok %}
<li>
{{ diak.nev }} ({{ diak.email }}) - Életkor: {{ diak.letkor }} - Hobbi: {{ diak.hobbi }} - Érdeklődési kör: {{ diak.erdeklodesi_kor }}
</li>
{% endfor %}
</ul>