add karma graphs view to the django site

pretty simplistic for the moment, it will become more robust later (TM)
This commit is contained in:
Brian S. Stephan 2016-03-30 17:08:01 -05:00
parent 03b90fe50a
commit 6fad9202ca
6 changed files with 75 additions and 0 deletions

View File

@ -13,6 +13,7 @@ urlpatterns = patterns('',
url(r'^$', TemplateView.as_view(template_name='index.html'), name='home'),
url(r'^dispatch/', include('dispatch.urls')),
url(r'^karma/', include('karma.urls')),
url(r'^markov/', include('markov.urls')),
url(r'^races/', include('races.urls')),

View File

@ -0,0 +1,34 @@
{% extends 'base.html' %}
{% load static %}
{% block extra_media %}
<script type="text/javascript" src="{% get_static_prefix %}js/Chart.min.js"></script>
{% endblock %}
{% block title %}karma: {{ entry.key }}{% endblock %}
{% block content %}
<h3>{{ entry.key }}</h3>
<canvas id="karma_history"></canvas>
<script type="text/javascript">
Chart.defaults.global.responsive = true;
Chart.defaults.global.maintainAspectRatio = true;
var ctx = $("#karma_history").get(0).getContext("2d");
var data = {
labels: [{% for x in entry.history %}"{{ x.0 }}", {% endfor %}],
datasets: [
{
label: "{{ entry.key }}",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [{% for x in entry.history %}{{ x.2 }}, {% endfor %}]
}
]
};
var myLineChart = new Chart(ctx).Line(data);
</script>
{% endblock %}

11
dr_botzo/karma/urls.py Normal file
View File

@ -0,0 +1,11 @@
"""URL patterns for the karma views."""
from django.conf.urls import patterns, url
from django.views.generic import TemplateView
from karma.views import key_detail
urlpatterns = patterns('races.views',
url(r'^$', TemplateView.as_view(template_name='index.html'), name='karma_index'),
url(r'^key/(?P<karma_key>.+)/', key_detail, name='karma_key_detail'),
)

17
dr_botzo/karma/views.py Normal file
View File

@ -0,0 +1,17 @@
"""Present karma data."""
import logging
from django.shortcuts import get_object_or_404, render
from karma.models import KarmaKey
log = logging.getLogger('karma.views')
def key_detail(request, karma_key):
"""Display the requested karma key."""
entry = get_object_or_404(KarmaKey, key=karma_key)
return render(request, 'karma/karma_key.html', {'entry': entry})

11
dr_botzo/static/js/Chart.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -72,6 +72,7 @@
</div>
{% block navbar_menu %}
<ul class="nav navbar-nav">
<li><a href="{% url 'karma_index' %}">Karma</a></li>
<li><a href="{% url 'markov_index' %}">Markov</a></li>
<li><a href="{% url 'races_index' %}">Races</a></li>
</ul>