gpt4 book ai didi

django - 如何在基于函数的 View 而不是类中使用 Django Hitcount?

转载 作者:行者123 更新时间:2023-12-03 23:43:37 26 4
gpt4 key购买 nike

该文档仅涵盖了 Django-Hitcount 在基于类的 View 中的使用。

from hitcount.views import HitCountDetailView

class PostCountHitDetailView(HitCountDetailView):
model = Post # your model goes here
count_hit = True # set to True if you want it to try and count the hit
有没有办法在函数中使用它?

最佳答案

有可能,你只需要实现 HitCountDetailView implements [GitHub]的逻辑即可。 .
因此,对于“命中”MyModel 的对象的基于函数的 View 这看起来像:

from hitcount.utils import get_hitcount_model
from hitcount.views import HitCountMixin

def some_view(request, pk):
object = get_object_or_404(MyModel, pk=pk)
context = {}

# hitcount logic
hit_count = get_hitcount_model().objects.get_for_object(object)
hits = hit_count.hits
hitcontext = context['hitcount'] = {'pk': hit_count.pk}
hit_count_response = HitCountMixin.hit_count(request, hit_count)
if hit_count_response.hit_counted:
hits = hits + 1
hitcontext['hit_counted'] = hit_count_response.hit_counted
hitcontext['hit_message'] = hit_count_response.hit_message
hitcontext['total_hits'] = hits

# … extra logic …

return render(request, 'my_template.html', context)
然而,这在某种程度上说明基于类的 View 更适合此类任务:人们可以轻松地在可重用组件中定义逻辑,从而将其混合到现有逻辑中。

关于django - 如何在基于函数的 View 而不是类中使用 Django Hitcount?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64278071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com