подсчет просмотров иногда работает, иногда не считая - PullRequest
0 голосов
/ 10 июня 2019

это странно.иногда это имеет значение, иногда нет.Я не вижу в этом ничего плохого, вот мой код

Ответы [ 2 ]

0 голосов
/ 10 июня 2019

На ваш взгляд вам нужно будет позвонить update_view.Если вы этого не сделаете, свойство view вашего экземпляра не будет обновлено.Например, с представлением на основе функций:

def your_view(request, post_id):
    post = Post.objects.get(pk=post_id)
    post.update_view()
    context={'post': post}
    return render(request, 'your_template.html', context)

для представления на основе классов вы можете:

class YourView(View):

    model = Post

    def get_context_data(self, **kwargs):

        context = super().get_context_data(**kwargs)
        post = context['post']
        post.update_view()
        context['post'] = post

        return context
0 голосов
/ 10 июня 2019

Я бы предложил вам создать представление detail_post и написать логику в views.py для увеличения представления.

Например:

post = Post.objects.get(id=id)
post.views += 1
post.save()

Попробуйте, если вы используете представления на основе классов

class PostDetailView(DetailView):
    model = Post

    def get(self, **kwargs):
        self.object.count += 1
        self.object.save()
        return super(PostDetailView, self).get(**kwargs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...