Yet another FAQ app.
Python HTML JavaScript
Switch branches/tags
Nothing to show
Latest commit def1178 Apr 28, 2016 @Tyrdall Tyrdall released v1.4.2



A Django application that can be used as a FAQ, a Q&A, for general announcements or as a miniblog. There are a lot of functions to increase the user experience, like sorting by popularity, statistics and ratings.


You need to install the following prerequisites in order to use this app:

pip install Django

If you want to use the cms app or the cms plugin please install additionally:

pip install django-cms

If you want to install the latest stable release from PyPi:

$ pip install django-frequently

If you feel adventurous and want to install the latest commit from GitHub:

$ pip install -e git://

Add frequently to your INSTALLED_APPS:

    # django-cms related


Add the frequently URLs to your

urlpatterns = [
    url(r'^faq/', include('frequently.urls')),

As of version 2 of this app, there are some significant backwards incompatible changes. If you are a new user, you are fine, existing users must check the migration docs at [cmsplugin-frequently]( When you are ready to install this app, set the following setting to True in your


Now you can migrate your database:

./ migrate frequently


Just visit the root URL of the app. Let's assume you hooked the app into your at f/, then visit You will see the entry overview. As you can see, you can provide a form to let users submit their own entries @

The entry handling is made by AJAX and jQuery, but is also functional without Javascript enabled.

  • The entries can be up- or downvoted.
  • The entries are sorted by popularity.
  • Entries can be fixed via an extra attribute.
  • The last view date and the amount of all views is tracked.



Default: False

Set this to True if you want to allow anonymous users to see the list view and to submit new questions.


Default: True

Set this to False in order to hide the email field on the question create form. This makes sense when you have set FREQUENTLY_ALLOW_ANONYMOUS to False - in this case you already know the email address of the user.

Template Tag

We provide a template tag to render entries of a certain category.:

{% render_category 'slug-of-the-category' %}

IMPORTANT: Make sure to include the js file in this template:

<script type="text/javascript" src="{% static "frequently/js/frequently.js" %}"></script>


If you want to contribute to this project, please perform the following steps:

# Fork this repository
# Clone your fork
$ mkvirtualenv -p python2.7 django-frequently
$ pip install -r test_requirements.txt
$ python test
# You should get no failing tests

$ git co -b feature_branch master
# Implement your feature and tests
$ git add . && git commit
$ git push origin feature_branch
# Send us a pull request for your feature branch

Whenever you run the tests a coverage output will be generated in tests/coverage/index.html. When adding new features, please make sure that you keep the coverage at 100%.

If you are making changes that need to be tested in a browser (i.e. to the CSS or JS files), you might want to setup a Django project, follow the installation instructions above, then run python develop. This will just place an egg-link to your cloned fork in your project's virtualenv.


See the issue list on GitHub for features that are planned for the next milestone.