From 3d4f62ce09b7c0bb66e3143878ea9e6c85860c77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alix=20Lev=C3=A9?= Date: Thu, 12 Dec 2024 12:41:55 +0100 Subject: [PATCH] udpated functions all_posts anduser_profile to get datetime into JSON --- .../users_app/fixtures/sample-followers.json | 112 ++++++++++++++++- .../users_app/templates/first_template.html | 116 +++++++++--------- microblogging/users_app/views.py | 34 ++++- 3 files changed, 195 insertions(+), 67 deletions(-) diff --git a/microblogging/users_app/fixtures/sample-followers.json b/microblogging/users_app/fixtures/sample-followers.json index 7339cda4..8758b1f9 100644 --- a/microblogging/users_app/fixtures/sample-followers.json +++ b/microblogging/users_app/fixtures/sample-followers.json @@ -11,7 +11,7 @@ "model": "users_app.follower", "pk": 2, "fields": { - "followed_id": 20, + "followed_id": 3, "follower_id":1 } }, @@ -19,7 +19,7 @@ "model": "users_app.follower", "pk": 3, "fields": { - "followed_id": 6, + "followed_id": 4, "follower_id":1 } }, @@ -35,7 +35,7 @@ "model": "users_app.follower", "pk": 5, "fields": { - "followed_id": 23, + "followed_id": 3, "follower_id":2 } }, @@ -51,8 +51,112 @@ "model": "users_app.follower", "pk": 7, "fields": { - "followed_id": 18, + "followed_id": 5, "follower_id":1 } + }, + { + "model": "users_app.follower", + "pk": 8, + "fields": { + "followed_id": 4, + "follower_id": 2 + } + }, + { + "model": "users_app.follower", + "pk": 9, + "fields": { + "followed_id": 1, + "follower_id": 3 + } + }, + { + "model": "users_app.follower", + "pk": 10, + "fields": { + "followed_id": 2, + "follower_id": 3 + } + }, + { + "model": "users_app.follower", + "pk": 11, + "fields": { + "followed_id": 4, + "follower_id": 3 + } + }, + { + "model": "users_app.follower", + "pk": 12, + "fields": { + "followed_id": 5, + "follower_id": 3 + } + }, + { + "model": "users_app.follower", + "pk": 13, + "fields": { + "followed_id": 1, + "follower_id": 4 + } + }, + { + "model": "users_app.follower", + "pk": 14, + "fields": { + "followed_id": 2, + "follower_id": 4 + } + }, + { + "model": "users_app.follower", + "pk": 15, + "fields": { + "followed_id": 3, + "follower_id": 4 + } + }, + { + "model": "users_app.follower", + "pk": 16, + "fields": { + "followed_id": 5, + "follower_id": 4 + } + }, + { + "model": "users_app.follower", + "pk": 17, + "fields": { + "followed_id": 1, + "follower_id": 5 + } + }, + { + "model": "users_app.follower", + "pk": 18, + "fields": { + "followed_id": 2, + "follower_id": 5 + } + }, + { + "model": "users_app.follower", + "pk": 19, + "fields": { + "followed_id": 3, + "follower_id": 5 + } + }, + { + "model": "users_app.follower", + "pk": 20, + "fields": { + "followed_id": 4, + "follower_id": 5 + } } ] \ No newline at end of file diff --git a/microblogging/users_app/templates/first_template.html b/microblogging/users_app/templates/first_template.html index 6cd2c6af..510f1d3b 100644 --- a/microblogging/users_app/templates/first_template.html +++ b/microblogging/users_app/templates/first_template.html @@ -1,62 +1,64 @@ - + - + + My Little Books - + - - -
- - - + + - -
- - + {% endif %} + + + + \ No newline at end of file diff --git a/microblogging/users_app/views.py b/microblogging/users_app/views.py index 0d6848f8..1676d112 100644 --- a/microblogging/users_app/views.py +++ b/microblogging/users_app/views.py @@ -9,19 +9,30 @@ from users_app import templates from users_app.models import Post, Tag, Follower, AuthUser from django.contrib.auth.models import User +from datetime import datetime @login_required def all_posts(request): posts = Post.objects.select_related('user').all() print(f"🦀 {posts}") + + list_posts = [] for post in posts: p = model_to_dict(post) print(f"🪲 {p}") + print(f"{post.created_at}") p["tags"] = [] p["user"] = model_to_dict(post.user)["username"] + p["user_id"] = model_to_dict(post.user)["id"] + p["post_id"] = model_to_dict(post)["id"] + publish_date = post.created_at + publish_date_str = publish_date.strftime("%Y-%m-%d %H:%M:%S") + print(f"🐣 {publish_date_str}") + print(type(publish_date_str)) + p["created_at"] = publish_date_str for tag in post.tags.all(): p["tags"].append(tag.tag) list_posts.append(p) @@ -87,6 +98,12 @@ def user_profile(request, id): posts_list = list(query_user_posts.values('id', 'user_id', 'content', 'parent_id', 'created_at')) print(f"🐹 {posts_list}") + for post in posts_list: + created_date = post["created_at"] + created_date_str = created_date.strftime("%Y-%m-%d %H:%M:%S") + post["created_at"] = created_date_str + + query_user_info = AuthUser.objects.get(id=id) user_info = model_to_dict(query_user_info) print(f"🐻 {user_info} ") @@ -100,12 +117,11 @@ def user_profile(request, id): } print(f"🧘‍♂️ {user_info}") - print(type(user_info)) + query_following = Follower.objects.filter(follower_id=id) - following_list = list(query_following.values('followed_id', 'follower_id')) - print(f"🍓 {following_list}") + #on merge les info des posts et les infos du user dans un dictionnaire: response_data = { @@ -113,11 +129,17 @@ def user_profile(request, id): 'posts': posts_list, 'following': following_list } - + print(f"🍋 {response_data}") - print(type(response_data)) - return JsonResponse(response_data, safe=True) + context = { + 'data': response_data, + } + + data_json = json.dumps(response_data) + print(f"🐼 {data_json}") + + return render(request, 'first_template.html', context) # @csrf_exempt