В django у меня есть проблемы с пониманием изменений при обработке передачи данных в шаблоны с {{}} ... кажется, что они постоянно меняются. Зачем ? Здесь мой код дает мне ошибку:
Реверс для 'post-detail' с аргументами '(' ',)' не найден. Попробован 1 шаблон (ов): ['post / (? P [0-9] +) $']
На мой взгляд, все в порядке, как и мой шаблон.
И я не знаю, почему я должен изменить свой URL, поскольку он работал нормально ..
### app views
class PostDetailView(LoginRequiredMixin, DetailView):
model = Post
template_name = 'blog/post_detail.html'
def get_context_data(self,*arg, **kwargs):
context = super().get_context_data(**kwargs)
form = CommentForm()
context['form'] = form
return context
def post(self, request,*arg, **kwargs):
if request.method == 'POST':
form = CommentForm(request.POST)
if form.is_valid():
form.save()
else:
form = CommentForm()
context ={
'form':form
}
return render(request, self.template_name, context)
шаблонов:
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form | crispy }}
<button class="btn btn-primary" type="submit" > submit </button>
<input value="bad word" type="submit" onclick="{% url 'post-detail' post.id %}">
</form>
URL:
path('post/<int:pk>', PostDetailView.as_view(), name='post-detail'),
Я попробовал каждую справочную публикацию онлайн, но безуспешно. Я просто хочу иметь возможность оставлять комментарии в блоге ...
Если кто-то знает, в каком направлении я должен идти, это было бы здорово!