第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Flask 根據用戶輸入重新排序帖子列表(即新查詢)

如何使用 Flask 根據用戶輸入重新排序帖子列表(即新查詢)

qq_笑_17 2021-11-02 15:25:34
我正在 Flask 中建立一個網站,并希望讓用戶能夠按照他或她選擇的方式對帖子的主列表進行排序。默認情況下,帖子按其“到期日期”升序排列。但是,某些用戶可能希望按字母順序、作者姓名、發(fā)布日期等進行排序。一些消息來源建議我根據用戶輸入構建一個字符串;然而,這似乎不是最有效的方法(也許是?。┻@是我的代碼的樣子:@index.route("/")@index.route("/home")def home():    page = request.args.get('page', 1, type=int)    experiences = Exp.query.order_by(Exp.date_expiry.asc()).paginate(page=page, per_page=5)    return render_template('home.html', experiences=experiences)我想我需要將某種變量傳遞到我的家庭路線中,然后根據它唯一地生成我的查詢,我只是不確定最佳實踐是什么。另外,我不確定如何在 Flask 中為這類事情創(chuàng)建菜單,盡管我做了一些搜索。
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

您可以將查詢轉換為字典列表,然后使用運算符模塊的itemgetter函數根據一個或多個字典值對條目進行排序。


假設您有以下列表:


posts_list = [

     {'post_id':100, 'author_name': 'John', 'date_posted':'2019-02-14', 'expiry_date':'2019-09-20'},

     {'post_id':101, 'author_name': 'Bob', 'date_posted':'2019-03-15', 'expiry_date':'2019-04-25'},

     {'post_id':102, 'author_name': 'Alice', 'date_posted':'2019-01-16', 'expiry_date':'2019-07-24'},

     {'post_id':103, 'author_name': 'Eric', 'date_posted':'2019-04-14', 'expiry_date':'2019-05-20'}

]

輸出按所有字典共有的任何字段排序的這些行非常容易。


例子:


from operator import itemgetter


list_by_author_name = sorted(posts_list, key=itemgetter('author_name'))

list_by_date_posted = sorted(posts_list, key=itemgetter('date_posted'))

list_by_expiry_date = sorted(posts_list, key=itemgetter('expiry_date'))


print(list_by_author_name)

print(list_by_date_posted)

print(list_by_expiry_date)

產生以下結果:


[

{'post_id': 102, 'author_name': 'Alice', 'date_posted': '2019-01-16', 'expiry_date': '2019-07-24'}, 

{'post_id': 101, 'author_name': 'Bob', 'date_posted': '2019-03-15', 'expiry_date': '2019-04-25'}, 

{'post_id': 103, 'author_name': 'Eric', 'date_posted': '2019-04-14', 'expiry_date': '2019-05-20'}, 

{'post_id': 100, 'author_name': 'John', 'date_posted': '2019-02-14', 'expiry_date': '2019-09-20'}

]


[

{'post_id': 102, 'author_name': 'Alice', 'date_posted': '2019-01-16', 'expiry_date': '2019-07-24'}, 

{'post_id': 100, 'author_name': 'John', 'date_posted': '2019-02-14', 'expiry_date': '2019-09-20'}, 

{'post_id': 101, 'author_name': 'Bob', 'date_posted': '2019-03-15', 'expiry_date': '2019-04-25'}, 

{'post_id': 103, 'author_name': 'Eric', 'date_posted': '2019-04-14', 'expiry_date': '2019-05-20'}

]


[

{'post_id': 101, 'author_name': 'Bob', 'date_posted': '2019-03-15', 'expiry_date': '2019-04-25'}, 

{'post_id': 103, 'author_name': 'Eric', 'date_posted': '2019-04-14', 'expiry_date': '2019-05-20'}, 

{'post_id': 102, 'author_name': 'Alice', 'date_posted': '2019-01-16', 'expiry_date': '2019-07-24'}, 

{'post_id': 100, 'author_name': 'John', 'date_posted': '2019-02-14', 'expiry_date': '2019-09-20'}

]


查看完整回答
反對 回復 2021-11-02
  • 1 回答
  • 0 關注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號