django-hitcount - отображать дату и ip каждого записанного «удара» - PullRequest
0 голосов
/ 23 апреля 2019

Это нубский вопрос, так что извините за отсутствие понимания.

Я использую Python 3.6 и Django 1.10.5.

Мне дали тестовую страницу, которая теперь использует django-hitcount , чтобы отследить, сколько раз документ "просматривается" - просматривается и загружается. Кажется, это работает хорошо.

Теперь я хочу расширить код, чтобы я мог отображать дату и ip каждого раза, когда документ «попал».

Я посмотрел таблицы db, а дата и ip хранятся в таблицах django-hitcount, как показано ниже:

enter image description here

Вот код views.py для отображения записанных "хитов" количества обращений:

from hitcount.models import HitCount
....
document_hits = HitCount.objects.filter(
    content_type=content_type, modified__gte=one_week_ago).order_by('object_pk')

Я прочитал django-hitcount документы , однако я не могу понять, как написать / расширить представление для отображения даты и ip каждого хита.

Я много чего пробовал, но мне здесь чего-то не хватает.

Буду признателен за любую помощь, чтобы направить меня в правильном направлении.

1 Ответ

0 голосов
/ 23 апреля 2019

Изучая документацию django-hitcount по отображению и django-hitcount github models.py , мы видим, что существует class Hit, который имеет ForeignKey для class HitCount, с обратным отношением по умолчанию для имени hits, поэтому мы можем вывести, что способ отображения такой информации, как дата и IP каждого попадания, будет путем добавления в проект следующего:

Вид:

from hitcount.views import HitCountDetailView

class YourModelCountHitDetailView(HitCountDetailView):
    model = YourModel        # your model goes here
    count_hit = True    # set to True if you want it to try and count the hit

и шаблон:

{% for hit in hitcount.hits %}
    {{ hit.ip }}<br/>
    {{ hit.created }}
{% endfor %}
...