diff --git a/demo/templates/_status.html b/demo/templates/_status.html new file mode 100644 index 0000000..8fb97d5 --- /dev/null +++ b/demo/templates/_status.html @@ -0,0 +1,7 @@ +
+ You have created {{ count }} tasks so far. +
+ + \ No newline at end of file diff --git a/demo/templates/homepage.html b/demo/templates/homepage.html index 9fac734..50ab182 100644 --- a/demo/templates/homepage.html +++ b/demo/templates/homepage.html @@ -9,9 +9,10 @@ {% block topbar_base %}{% endblock %} {% block body %} +
-
+

Tasks

A sample tasks app to demonstrate how to use @@ -19,6 +20,9 @@ eldarion-ajax

+

+ There have been {{ total_count }} tasks added by everyone. +

{% csrf_token %}
diff --git a/demo/urls.py b/demo/urls.py index 12f99a3..f8eead9 100644 --- a/demo/urls.py +++ b/demo/urls.py @@ -6,14 +6,16 @@ from django.contrib import admin admin.autodiscover() -urlpatterns = patterns("", +urlpatterns = patterns( + "", url(r"^$", "demo.views.home", name="home"), url(r"^tasks/(?P\d+)/done/$", "demo.views.mark_done", name="task_mark_done"), url(r"^tasks/(?P\d+)/undone/$", "demo.views.mark_undone", name="task_mark_undone"), url(r"^tasks/completed/$", "demo.views.complete_count_fragment", name="task_complete_count_fragment"), url(r"^tasks/add/$", "demo.views.add", name="task_add"), url(r"^tasks/(?P\d+)/delete/$", "demo.views.delete", name="task_delete"), - + url(r"^status/$", "demo.views.status", name="status"), + url(r"^total-count/$", "demo.views.total_count", name="total_count"), url(r"^admin/", include(admin.site.urls)), url(r"^account/", include("account.urls")), ) diff --git a/demo/views.py b/demo/views.py index d0c262b..297ac64 100644 --- a/demo/views.py +++ b/demo/views.py @@ -11,6 +11,28 @@ from django.contrib.sessions.models import Session from demo.models import Task +def status(request): + data = { + "fragments": { + ".alert": render_to_string( + "_status.html", + RequestContext(request, { + "count": Task.objects.filter( + session__session_key=request.session.session_key + ).count() + }) + ) + } + } + return HttpResponse(json.dumps(data), content_type="application/json") + + +def total_count(request): + return HttpResponse(json.dumps({ + "html": Task.objects.count() + }), content_type="application/json") + + def home(request): if not request.session.exists(request.session.session_key): request.session.create() @@ -19,6 +41,7 @@ def home(request): "tasks": Task.objects.filter( session__session_key=request.session.session_key ), + "total_count": Task.objects.count(), "done_count": Task.objects.filter( session__session_key=request.session.session_key, done=True