-
Notifications
You must be signed in to change notification settings - Fork 0
/
(新)后端article_comment_show.txt
26 lines (26 loc) · 1.52 KB
/
(新)后端article_comment_show.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# show article and corresponding comments
def article_comment_show(request, id_article):
if request.method == 'POST':
article = Article.objects.filter(id=id_article)
if article:
# choose not put 'comments' into article.values_list
# new_article_comments = article[0].comments.all().values_list('id', 'author__phone', 'author__email', 'time', 'content')
article_comments = article[0].comments.all()
new_article_comments = []
for new_comment in article_comments:
dict_comment = {}
dict_comment['id'] = new_comment.id
if new_comment.author.phone is None:
dict_comment['author'] = new_comment.author.email
else:
dict_comment['author'] = new_comment.author.phone
dict_comment['time'] = new_comment.time
dict_comment['content'] = new_comment.content
new_article_comments.append(dict_comment)
new_article = article.values_list('title', 'author__phone', 'author__email', 'time', 'text', 'views', 'liked')
return HttpResponse(json.dumps({'article': list(new_article), 'article_comments': new_article_comments
}, cls=Article.CJsonEncoder))
# article not existed
return HttpResponse(return_code['article_not_existed'], content_type="text/plain")
# not a POST request
return HttpResponse(return_code['not_POST'], content_type="text/plain")