Nowadays, social websites usually have integrated Facebook, Twitter, and Google+ widgets to like and share pages. In this recipe, I will guide you through a similar internal liking Django app that saves all the likes in your database so that you can create specific views based on the things that are liked on your website. We will create a Like widget with a two-state button and badge showing the number of total likes. The following are the states:
Inactive state, where you can click on a button to activate it:
Active state, where you can click on a button to deactivate it:
The state of the widget will be handled by Ajax calls.
First, create a likes
app with a Like
model, which has a foreign-key relation to the user that is liking something and a generic relationship to any object in the database. We will use ObjectRelationMixin
, which we defined in the Creating a model mixin to handle generic relations recipe in Chapter 2, Database Structure. If you...