django-memorize

Memorize your Django project's items with spaced repetition theory
Download

django-memorize Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL v3
  • Price:
  • FREE
  • Publisher Name:
  • Cristian Esquivias
  • Publisher web site:
  • https://launchpad.net/~sgt-pepper

django-memorize Tags


django-memorize Description

Memorize your Django project's items with spaced repetition theory Writing a flashcard application is almost a rite of passage for django users. You create a simple Card model, you create a quiz view and template and you call it a day. A simple application and not very useful.The django-memorize plugin adds a more advanced way of learning your flashcards (or whatever items you'd like) with the theory of spaced repetition. The SuperMemo 2 algorithm is currently used. Flashcard web apps have just gotten better and easier.Installation: 1. Download the latest version. 2. Extract and run python setup.py install. 3. Add memorize to INSTALLED_APPS list.Usage:Add an Item to PracticeLet's assume you have a flashcard web app with a card model:from django.db import modelsfrom django.contrib.auth.models import Userclass Card(models.Model): front = models.CharField(max_length=255) back = models.CharField(max_length=255) user = models.ForeignKey(User)To begin practicing a new card, save a practice object for your flashcard:from memorize.models import Practicecard = Card(front="When was Sgt. Pepper released?", back="1967", user=request.user)practice = Practice(item=card, user=card.user)practice.save()Start PracticingThe view memorize.views.next_practice_item does all the work of determining what the next item a user should practice. You just need to provide a template file. Add an item to your urls.py file:urlpatterns += patterns( 'memorize.views', url(r'^item/next/$', 'next_practice_item', {'template': 'memorize/next.html'}, name='next-song'),)Template Variables Providedform A memorize.forms.RatingsForm instance you use to save the performance on this practice instance.item Your original item. Use this to get your information (e.g., card.front information)practice The practice row.Saving FeedbackThe key to spaced repetition algorithms is using your past performance to determine when is the optimal time to reshow an item. If you used the next_practice_item the template will have a form object that provides all the relative information.The view memorize.views.process_rating will process the data. Add this view to your urls.py file.Example:< form action="{% url memorize.views.process_rating %}" method="post" > {{ form }}< /form > Requirements: · Python · Django


django-memorize Related Software