def Poem_Detail(request, poem_id): comment_form = CommentsForm() # 根据poem_id获取的目标诗对象 poem = Poems.objects.get(id=poem_id) author = Author.objects.get(id=poem.author_id) # 诗人所有诗词 author_poems = author.poems_set.all()[:6] # 所以评论 comments = poem.comments_set.all() # 评论数 nums = comments.count() praise_num = Praise.objects.filter(poem=poem).count() try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 # 这里的数字表示每一页有几个实例 p = Paginator(comments, 4, request=request) comments = p.page(page) # 点赞状态标识 praise_statue = 0 if request.user.is_authenticated(): statue = Praise.objects.filter(user=request.user, poem=poem) if statue: praise_statue = 1 #拼音功能 result = [] temp = [] pingyin_statue = request.GET.get('pingyin_statue', '') if pingyin_statue: from xpinyin import Pinyin words = poem.content p = Pinyin() for i in words.split('\n'): # 生成拼音 a = p.get_pinyin(i, show_tone_marks=True).split('-') for j in a: j = j + ' ' * (6 - len(j)) temp.append(j) result.append(''.join(temp) + '\n') result.append(i + '\n') temp = [] context = { 'poem': poem, 'author': author, 'author_poems': author_poems, 'comments': comments, 'comment_form': comment_form, 'nums': nums, 'praise_num': praise_num, 'praise_statue': praise_statue, 'result': result, 'pingyin_statue': pingyin_statue } return render(request, 'poem_detail.html', context=context)