I cannot see forms/serializers here. You have to make a modelserializer/form in your serializers.py/form.py file and write class meta in that and put comment fields in model user. I would suggest you to go look in the document. Thank you
On Wed, Mar 18, 2020, 13:06 Luka Nik <[email protected]> wrote: > Yes, I used that, but it's not working for me. > Actually I combined two projects, but, I think my blog/post-detail is not > working > > On Wed, Mar 18, 2020 at 6:00 PM Python Programming < > [email protected]> wrote: > >> Hello my friend this site is for you: >> >> https://djangocentral.com/building-a-blog-application-with-django/ >> >> Luka Nik <[email protected]> در تاریخ چهارشنبه ۱۸ مارس ۲۰۲۰ ساعت >> ۱۹:۵۷ نوشت: >> >>> Hello fellow djangos, >>> >>> I have a slight problem with my project, a simple solution is needed I >>> believe, but I couldn't figure it out. >>> >>> I wanted to add a comment section for my blog posts. >>> Here is the code: >>> >>> Models.py: >>> >>> class Comment(models.Model): >>> post = models.ForeignKey(Post, on_delete=models.CASCADE, >>> related_name='comments') >>> name = models.CharField(max_length=80) >>> email = models.EmailField() >>> body = models.TextField() >>> created_on = models.DateTimeField(auto_now_add=True) >>> active = models.BooleanField(default=False) >>> >>> class Meta: >>> ordering = ['-created_on'] >>> >>> def __str__(self): >>> return 'Comment {} by {}'.format(self.body, self.name) >>> >>> >>> Views.py: >>> >>> class PostDetailView(DetailView): >>> model = Post >>> >>> def post_detail(request, slug): >>> >>> template_name = 'blog/post_detail.html' >>> post = get_object_or_404(Post, slug=slug) >>> comments = post.comments.filter(active=True) >>> new_comment = None >>> if request.method == 'POST': >>> comment_form = CommentForm(data=request.POST) >>> if comment_form.is_valid(): >>> new_comment = comment_form.save(commit=False) >>> new_comment.post = post >>> new_comment.save() >>> else: >>> comment_form = CommentForm() >>> >>> return render(request, template_name, {'post': post, >>> 'comments': comments, >>> 'new_comment': new_comment, >>> 'comment_form': comment_form >>> }) >>> >>> >>> Blog/post_detail.html: >>> >>> {%extends 'blog/base.html'%} >>> {% load crispy_forms_tags %} >>> {%block content%} >>> <article class="media content-section"> >>> <img class="rounded-circle article-img" src="{{ >>> object.author.profile.image.url}}" > >>> <div class="media-body"> >>> >>> <div class="article-metadata"> >>> <a class="mr-2" href="{% url 'user-posts' >>> object.author.username %}">{{ object.author }}</a> >>> <small class="text-muted">{{ object.date_posted|date:"d F, >>> Y" }}</small> >>> >>> {% if object.author == user %} >>> <div> >>> <a class="btn btn-primary btn-sm mt-1 mb-1" >>> href="{% url 'blog-home'%}"> Home </a> >>> <a class="btn btn-secondary btn-sm mt-1 mb-1" >>> href="{% url 'post-update' object.id %}"> Update </a> >>> <a class="btn btn-danger btn-sm mt-1 mb-1" href="{% >>> url 'post-delete' object.id %}"> Delete </a> >>> </div> >>> >>> {% endif %} >>> </div> >>> >>> <h2 class="article-title">{{ object.title }}</h2> >>> <p class="article-content">{{ object.content }}</p> >>> </div> >>> </article> >>> {% for comment in comments %} >>> <div class="comments" style="padding: 10px;"> >>> <p class="font-weight-bold"> >>> {{ comment.name }} >>> <span class=" text-muted font-weight-normal"> >>> {{ comment.created_on }} >>> </span> >>> </p> >>> {{ comment.body | linebreaks }} >>> </div> >>> {% endfor %} >>> <div class="col-md-8 card mb-4 mt-3"> >>> <div class="card-body"> >>> {% if new_comment %} >>> <div class="alert alert-success" role="alert"> >>> Your comment is awaiting moderation >>> </div> >>> {% else %} >>> <h3>Leave a comment</h3> >>> <form method="post" style="margin-top: 1.3em;"> >>> {{ comment_form | crispy }} >>> {% csrf_token %} >>> <button type="submit" class="btn btn-primary >>> btn-lg">Submit</button> >>> </form> >>> {% endif %} >>> </div> >>> </div> >>> {% endblock content%} >>> >>> >>> And the urls.py: >>> >>> urlpatterns = [ >>> path('', PostListView.as_view(), name='blog-home'), >>> path('about/', views.about, name='blog-about'), >>> path('showroom/', views.showroom, name='blog-showroom'), >>> path('photos/', views.photos, name='blog-photos'), >>> path('post/<int:pk>/', PostDetailView.as_view(), name='post-detail'), >>> path('post/new/', PostCreateView.as_view(), name='post-create'), >>> path('post/<int:pk>/update/', PostUpdateView.as_view(), >>> name='post-update'), >>> path('post/<int:pk>/delete/', PostDeleteView.as_view(), >>> name='post-delete'), >>> path('user/<str:username>', UserPostListView.as_view(), >>> name='user-posts'), >>> >>> ] >>> >>> >>> >>> >>> The problem is following: >>> In the post detail page, I can not see the fields required for >>> commenting, >>> I only see "Leave a comment" and submit button that does not work.. >>> Any help would be nice >>> >>> Cheers, >>> Luka >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Django users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/django-users/CAMqindt2sqxVH1M7usu9sF0y84Lu7o6pRV27HVWUc_PTMu2NEg%40mail.gmail.com >>> <https://groups.google.com/d/msgid/django-users/CAMqindt2sqxVH1M7usu9sF0y84Lu7o6pRV27HVWUc_PTMu2NEg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/CACSAswyv7WYpDzbN52wgQzVT34%3D7vmLVYSZ8VeHerK0U5V7AjA%40mail.gmail.com >> <https://groups.google.com/d/msgid/django-users/CACSAswyv7WYpDzbN52wgQzVT34%3D7vmLVYSZ8VeHerK0U5V7AjA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CAMqindvTvPnA6cVX29Gq3n54fbMx0CbiGmNpBWTd2DcYGyw7_Q%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CAMqindvTvPnA6cVX29Gq3n54fbMx0CbiGmNpBWTd2DcYGyw7_Q%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAHKe4p5nbKNRX08K-zXPAODzpZmJUwZD0e5YbJvf-7V%3DVw8XWw%40mail.gmail.com.

