в первом ответе верно сказали что нужно реализовать метод пост у вашей вьюхи унаследованной от DetailView, где то так:
class BlogDetailView(DetailView):
template_name= 'blog-info.html'
model = Blog
def post(self, request, *args, **kwargs):
# тут ваши действия
Все http методы должны возвращать объект HttpResponse
Конечно же бывают случаи, когда удобнее обработать POST запросы в DetailView представлении.
Например, подписаться на блог при его просмотре. Отображение блога осуществить через DetailView, а при клике на кнопку "подписаться" отправлять форму с POST запросом на эту же страницу просмотра блога. И в DetailView вашего блога реализовать метод post(), который добавит текущему юзеру подписку на этот блог.
и кстати, http_method_names надо использовать когда хотите настроить специфичные методы. Стандартные методы HTTP уже прописаны в http_method_names по умолчанию.
Но фильтрация делается конечно через GET.
В чем не прав - поправьте :)