投稿用に機能するコメントを作成しますが、バグがあります。誰かのコメントポスト、別のユーザーが正しいコメント本体が、間違ったイメージとコメントの論理を修正する方法は?
def p(request, pk):
user = request.user
#user_that_text_comment = User.objects.filter(pk=pk)
topic = get_object_or_404(Topic, pk=pk)
post = get_object_or_404(Post, pk=pk)
comment = Comments.objects.filter(pk=pk)
if request.method == 'POST':
form = CustomCommentForm(request.POST)
if form.is_valid():
comment = form.save(commit=False)
comment.post = post
comment.creator = user
comment.save()
comment = Comments.objects.create(
body=form.cleaned_data.get('body'),
creator=user,
)
return render(request, 'post.html', {'post': post, 'topic': topic, 'comment': comment, 'form': form})
else:
form = CustomCommentForm()
return render(request, 'post.html', {'post': post, 'topic': topic, 'comment': comment, 'form': form})
を見ると、私はポストのためのコメント機能を建て、それはバグがあります。誰かが投稿をコメントすると、別のユーザーが正しいコメントの本文を参照しますが、間違ったイメージと名前が表示されます。 なぜ私はこの問題を抱えているのか分かりますが、私はuser=request.user
を使用しているので、それは起こります。私が3行でコメントしている文字列に関する通知。私はそれが私を助けると思っていたが、そうではない。私は私のURLにプライマリキーを使用します。 url(r'^boards/(?P<pk>\d+)/$', views.board_topics, name='board_topics'),
と私はfilter
でプライマリキーを使用すると、それはポストpkと同じpkを持っている私のユーザーに戻ります。私はこのコメントを作成するユーザのユーザ名と写真を私に返す必要があります。
のHTMLテンプレート:
<div class="detailBox">
<div class="titleBox">
<label>{{topic.subject}}</label>
<!--<button type="button" class="close" aria-hidden="true">×</button>-->
</div>
<div class="commentBox">
<img src="{{ MEDIA_URL }}{{ topic.image.url }}" alt="">
<p class="taskDescription">{{ post.message|safe|linebreaks}}</p>
</div>
<div class="actionBox">
<ul class="commentList">
{% for comment in post.comment.all %}
<li>
<div class="commenterImage">
{% if user.profile.profile_img %}
<img src="{{ MEDIA_URL }}{{ user.profile.profile_img.url }}" >
{{ user.username }}
{% else %}
<img src="https://image.freepik.com/free-vector/no-translate-detected_1053-593.jpg">
{{ user.username }}
{% endif %}
</div>
<div class="commentText">
<p class="">{{ comment.body }}</p> <span class="date sub-text">{{comment.created_at}}</span>
</div>
</li>
{% endfor %}
</ul>
<form class="form-inline" role="form" method="post">
{% csrf_token%}
{{form}}
<button type="submit" class="btn btn-default">Add</button>
</form>
</div>
</div>{% endblock %}
内部変数に
creator
に関連するべきでは本当に下さい –