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.

Reply via email to