sqlalchemy.exc.InvalidRequestError: When initializing mapper Mapper[ModelChecklistQuestion(checklist_questions)], expression 'ModelChecklistAnswer' failed to locate a name ('ModelChecklistAnswer'). If this is a class name, consider adding this relationship() to the <class 'models.ModelChecklistQuestion.ModelChecklistQuestion'> class after both dependent classes have been defined.
Nav jēgpilni pievienot relationship pie checklist_questions, jo vairākiem deals var atkārtoties jautājumi, tā vietā nepieciešams pievienot relationships pie checklist_answers, jo atbildes gan būs tikai pa vienai pie katra jautājumu un deal. checklist_answers nemaz nestrādāja, jo nebija vispār pievienojis DB! Kad tālāk strādā pie ši projekta atver datubāzes manager iekš PyCharm un izpēti pašu datu bāzi. Tev pašam ir jāveic izmaiņas citreiz DB.
Zemāk DB structure pirms manām izmaiņām
pēc izmaiņām
Deals Controlleri es visu saliku ka vajag, pie views ar Jinja2 aizsutiju render_template ar vajadzigajiem aprekiniem
Tevis pievienotais
deal_id
pie checklist_answers bija pareizā virzienā, taču vajadzēja implementēt arī DB
Visus hard-coded texts laist caur Babel
Mark strings as translatable in Jinja templates:
xxxxxxxxxx
41html
2{% trans %}Hello World{% endtrans %}
3html
4{{ _('Hello World') }}
Extract strings into a .pot file:
x1pybabel extract -F babel.cfg -o messages.pot .
Initialize translation for language:
xxxxxxxxxx
11pybabel init -i messages.pot -d translations -l es
Translate the strings in translations/es/messages.po
Compile translations:
x1pybabel compile -d translations
So in summary, Flask-Babel integrates gettext translations into Flask, allowing you to mark strings for translation in Jinja templates. The _
function is made available by Flask-Babel for looking up translations.
šiem jābūt Controllers actions ar POST vai GET
Aizpildi visu info
Change in score nosaka pēc pēdējām activities
Activities ir MatchScoreLogs (DB jau eksistē)
Scripts imports nedrīkst likt pa vidu template, tikai head, pašu JS code arī vajadzētu ar mazāk hard-coded lietām, paņemt vairāk no common JS faila, tikai mainīgos padot uz funkcijas izsaukumu piemēram circle_progres(something)
Nedrīkst miksēt dažādus code name conventions - visur liet small_case_underscores
, tikai class names PascalCase
Neraksti garas rindas, split in multi-lines
Pārāk generic variable name - nedrīkst lietot value
, data
utt
Nevis
Bet gan