Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
Clarificare in privinta Python/Flask
Last Updated: Nov 21 2022 00:38, Started by
adani7
, Nov 20 2022 19:55
·
0
#1
Posted 20 November 2022 - 19:55
Salutare! Dorind sa invat Python 3 si Flask, am inceput sa fac un proiect propriu, dezvoltand un mic site de stiri. Problema e la o functie care programeaza o pagina in care se pot citi un anumit articol si poti sa adaugi si comentarii. Nu inteleg de ce scriptul respectiv e rulat de doua ori, iar variabila declarata ('article') care in prealabil e ok, apare ca fiind fara continut (NoneType), rezultand un cod de eroare 500. Poate sa imi explice cineva care e problema? Scriptul si eroarea sunt urmatoarele:
@app.route('/<article_title>', methods=['GET', 'POST']) def read_article(article_title): article = Article.query.filter_by(title=article_title).first() print("Article:", article.id) form = CommentForm() if form.validate_on_submit(): comment = Comment(text=form.text.data, author=current_user.id ) return render_template('read_article.html', article=article, user=current_user) Attached Files |
#2
Posted 20 November 2022 - 21:04
article nu are vreo proprietate numita 'id'
fa un dir(article) si vezi ce proprietati si metode are obiectul. Edited by Ursul_Polar, 20 November 2022 - 21:05. |
#3
Posted 20 November 2022 - 21:45
Ursul_Polar, on 20 noiembrie 2022 - 21:04, said:
article nu are vreo proprietate numita 'id' fa un dir(article) si vezi ce proprietati si metode are obiectul. class Article(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(128), index=True, unique=True) text = db.Column(db.Text) date = db.Column(db.DateTime, default=datetime.utcnow) author = db.Column(db.Integer, db.ForeignKey('user.id')) comments = db.relationship('Comment', backref='article'). La prima rulare, acesta exista (am subliniat cu rosu in imaginea atasata acuma), insa imediat dupa aceea, scriptul e rulat atomat a doua oara, iar variabila este declarata ca fiind fara continut.https://drive.google...?usp=share_link Edited by adani7, 20 November 2022 - 21:46. |
#4
Posted 20 November 2022 - 22:54
adani7, on 20 noiembrie 2022 - 21:45, said:
.... conform cu output-ul ti se spune clar ca in linia 79 din app.py `article.id` e none. asta inseamna ca `article = Article.query.filter_by(title=article_title).first()` iti intoarce nimic. ideal ar fi sa treci in debugging mode si sa vezi cand, cum si cu ce ti se initializeaza obiectul Article. Edited by Ursul_Polar, 20 November 2022 - 22:55. |
#5
Posted 20 November 2022 - 23:22
Ursul_Polar, on 20 noiembrie 2022 - 22:54, said:
print-ul ala il ai inainte de GET. de unde anume ii dai print, tu stii. conform cu output-ul ti se spune clar ca in linia 79 din app.py `article.id` e none. asta inseamna ca `article = Article.query.filter_by(title=article_title).first()` iti intoarce nimic. ideal ar fi sa treci in debugging mode si sa vezi cand, cum si cu ce ti se initializeaza obiectul Article. https://drive.google...?usp=share_link |
#6
Posted 21 November 2022 - 00:38
incearca cu debug=False.
'When building a Flask service in Python and setting the debug mode on, the Flask service will initialise twice. When the initialisation loads caches and the like, this can take a while. Having to do this twice is annoying when in development (debug) mode. When debug is off, the Flask service only initialises once.' daca totul e ok cu debug=False poti sa-ti exporti debug-ul catre un fisier si sa citesti de colea. import de logging si faci un baseconfig. sau poti incerca cu debug=True si use_reloader=False in app.run(). "If the reloader is not disabled, it could cause an unexpected reload if code changes during debugging." (https://flask.pallet....2.x/debugging/) din punctul meu de vedere, debug-ul il faci din IDE. (ori iti configurezi Sublime-ul sa faca asta, parca are plugin-uri pentru treaba asta, ori pui un IDE full ca PyCharm Community si te joci acolo) |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users