Wpis z mikrobloga

#python #flask

Dziubię tutorial i mam plik z artykułami:

DB.py

def ArticlesDB():
data = [
{
'id':'1',
'title':'Test1',
'author':'zort',
'content':'lorem lorem i marolem :D one',
'Date':'23-12-2018',
},
{
'id':'2',
'title':'Test2',
'author':'zort',
'content':'lorem lorem i marolem :D xdeem',
'Date':'12-12-2018',
},
{
'id':'3',
'title':'Test3',
'author':'zort',
'content':'lorem lorem i marolem :D testem ',
'Date':'01-09-2018',
},
{
'id':'44',
'title':'Test44',
'author':'zort',
'content':'lorem lorem i marolem :D testem ',
'Date':'12-02-2018',
},
]
return data

startowy.py

@app.route('/articles/')
def articlepage(id):
return render
template("article_page.html", id=id)

Wchodzę na /articles/1 i mogę tam wypluć sobie tylko ID. A chciałbym mieć tam artykuł, autora itp. Oczywiście adekwatnego do ID.
W jaki sposób mogę to zrobić?
  • 3
Z db.py zaimportuj ArticlesDB() do startowy.py

potem w funkcji articlepage(id)

utwórz sobie zmienną data = ArticlesDB()
Chociaż nie wiem czmeu ArticlesDB to u ciebie funkcja, która coś zwraca, mogłaby to raczej po prostu być stała, chociaż zależy od kontekstu.
przefiltruj elementy data, tak by znaleźć taki, który id ma równe id z requesta i zapisz go np. do zmiennej article
czyli coś takiego:

article = None
for xd in data:
___if xd.get('id')