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.

Reply via email to