Lietotājvārda ģenerators (Flask)
🧭 Mērķis
Izveidot Flask tīmekļa lietotni ar grafisko saskarni (HTML veidni), kas:
- ļauj lietotājam ievadīt vārdu un uzvārdu,
- pārbauda, vai ievadītie dati ir derīgi (tikai burti),
- ģenerē lietotājvārdu pēc noteiktas shēmas,
- un attēlo rezultātu tīmekļa lapā.
📋 Projekta izstrādes plāns
1️⃣ Projekta struktūra
Izveido projekta direktoriju ar šādu struktūru:
projekts/
│
├── venv
├── app.py # Flask lietotne (servera daļa)
└── templates/
└───── index.html # HTML veidne (lietotāja saskarne)
└── requirements.txt
2️⃣ Flask lietotnes izveide (app.py)
Mērķis: izveidot Flask serveri ar vienu galveno maršrutu (/), kas:
- pieņem GET pieprasījumus (lai parādītu formu),
- pieņem POST pieprasījumus (lai apstrādātu ievadītos datus).
Obligātās darbības:
- Importēt nepieciešamās bibliotēkas (
flask, random).
- Izveidot Flask objektu (
app = Flask(__name__)).
- Izveidot funkciju, kas:
- aizstāj latviešu burtus ar angļu ekvivalentiem;
- pārveido tekstu uz mazajiem burtiem;
- pārbauda, vai ievadītajos vārdos ir tikai burti.
- Izveidot maršrutu
/, kas:
- pie GET atgriež HTML veidni ar formu;
- pie POST nolasa ievadītos datus un ģenerē lietotājvārdu vai kļūdas paziņojumu.
3️⃣ Lietotājvārda ģenerēšanas noteikumi
- No ievadītā vārda un uzvārda paņemt pirmos trīs burtus katram (vai mazāk, ja vārds īsāks).
- Aizstāt latviešu burtus ar angļu ekvivalentiem.
- Pārveidot tekstu uz mazajiem burtiem.
- Pievienot 3 nejauši izvēlētus ciparus (0–9).
- Piemērs:
alibri041, leozag355.
- Ja ievadītie simboli satur kaut ko citu kā burtus (piemēram, ciparus, atstarpes vai simbolus) → izvadīt tekstu “Nederīgas vērtības”.
4️⃣ HTML veidne (templates/index.html)
Mērķis: Vienkārša tīmekļa lapa ar formu datu ievadei.
Obligātie lauki:
- Vārds
- Uzvārds
- Poga [Ģenerēt lietotājvārdu]
Funkcionalitāte:
- Forma nosūta datus ar POST metodi uz serveri (
/).
- Pēc apstrādes tiek parādīts:
- ģenerētais lietotājvārds vai
- kļūdas ziņojums
5️⃣ Lietotnes palaišana
Palaist Flask serveri ar:
Atvērt pārlūkā
Pārbaudīt ievades piemērus:
✅ Alise Brīnumjaukā → alibriXYZ
✅ Leons Žagars → leozagXYZ
❌ Mārtiņš 123 → “Nederīgas vērtības”
6️⃣ Iesniegšana
- Visas projekta datnes saarhivē
uzvards_flask.zip
- Iesniedz norādītajā vietā!