내가 검색한 키워드들은
'flask how to get views', 'flask hits', python hits, python views .... 등등
근데 조회수가 1씩 증가하는 건, 데이터베이스를 업데이트 하는거기 때문에 pymongo,mongoDB 즉 DB 키워드를 넣어서 검색해야 됐다는 것을 1시간 동안 검색해보고 깨달았다.... 왠지 너무 안나오더라...... ㅠㅠ
그리고, 처음에 개떡같이 'flask 조회수' 라고 검색해서 찾았던 블로그에서 가장 큰 힌트를 얻었다.
# 실패했지만, 큰 힌트가 된 코드
post = current_app.db.posts.find_one_and_update({'_id': ObjectId(post_id)}, {'_id': False},
{"$inc": {"hits": 1}},return_document=True)
여기서 find_one_and_update 라는 것과 $inc 가 큰 힌트였고, 블로그에 있던 코드를 약간 변경해서 위의 코드를 내 파이참 코드에 넣었는데... 실패... 그래서 이것 저것 찾고, pymongo 키워드와 함께 검색해본 결과. 답을 찾을 수 있었다.
이때, 또 find_one_and_update 에 꽂혀가지고 이걸 어떻게든 써보려다가, 아! 근데 그냥 업데이트를 따로하면 되잖아? 하고 밑에 링크보고 코드 짰다.
https://www.mongodb.com/docs/manual/reference/operator/update/inc/
# 원래 있던 게시글 조회 코드
post = current_app.db.posts.find_one({'_id': ObjectId(post_id)}, {'_id': False})
# 조회수 증가 코드
current_app.db.posts.update_one({'_id': ObjectId(post_id)}, {'$inc': {'hits': 1}})
이걸로 해결했다.... 계속 hits = current_app ~~ 어쩌고로 코드 짜려고 한다... 없애도 되는데... 그럼 또 저 hits를 다른데에 넣으려하고..
기본없이 응용하려니까 이렇게 계속 꼬이는 것 같다..! 어제랑 같은 증상... 그래도 해결돼서 기분이 좋다 🥹😵💫