Podglądamy ruch na stronie za pomocą django-basic-stats

Prosta aplikacja Django do statystyk ruchu na stronie

django-basic-stats to moja prosta aplikacja zbierająca informacje o ruchu na stronie. Można używać jej do podglądania ostatnich refererów, fraz użytych do wyszukania strony w wyszukiwarce Google, czy do zbierania informacji o urządzeniach mobilnych odwiedzających naszą stroną.

Instalacja

Instalacja jest standardowa:
pip install django-basic-stats
Następnie dodaj 'stats' do INSTALLED_APPS oraz:
'stats.statsMiddleware.statsMiddleware'
do MIDDLEWARE_CLASSES w settings.py. Do urlpatterns w urls.py dodaj:
url(r'^stats/', include('stats.urls'))
Na koniec wykonaj manage.py migrate (lub syncdb jeżeli nie używasz South).

Panel statystyk dostępny jest pod adresem /stats/ dla administratorów strony (staff). W panelu admina pojawi się także model statystyk mobilnych zawierający wszystkie zapisane mobilne urządzenia/odwiedziny.

Zbieranie statystyk urządzeń mobilnych

Po instalacji dane o urządzeniach mobilnych nie są zbierane. Należy dodać kod JavaScript, który będzie to robił - wraz z USER_AGENT zapisywane są dane o wymiarach ekranu i gęstości pikseli. Dane te JavaScript przesyła AJAXem.

Żeby dane były zbierane należy zastosować poniższy kod. Wykorzystuje on jQuery, choć w razie potrzeby powinien być łatwy do przerobienia pod inną bibliotekę.

var isMobile = (/iphone|ipod|android|blackberry|mini|palm|smartphone|ipad|xoom|playbook|tablet|mobile|kindle/i.test(navigator.userAgent.toLowerCase()));
if (isMobile) {
    $(document).ready(function(){
        $.ajax({
        url: '/stats/mobile/',
        cache: false,
        type: "GET",
        data: {"window_width": window.innerWidth,
        "window_height": window.innerHeight,
        "screen_width": screen.width,
        "screen_height": screen.height,
        "device_pixel_ratio": window.devicePixelRatio},
        });
    });
}
Pod adres "/stats/mobile/" przesyłane są dane o wymiarach ekranu jak i okna (różne urządzenia w różnych przypadkach potrafią podawać zupełnie różne wartości pod "window" i "screen"). Po stronie serwera zapisany zostanie także USER_AGENT.
Fragment mobilnych statystyk
blog comments powered by Disqus

Kategorie

Strony