Pluggable django app for Q&A
django-qa is a fork from Simple-Q-A-App-using-Python-Django aimed to create a pluggable package than allows to implement a StackOverflow-like forum site for your Django web project. The development of this package is kindly supported by SWAPPS and constantly developed by it’s colaborators. Feel free to use it, add some issues if you find bugs or think of a really cool feature, even clone it and generate a pull requests to incorporate those cool features made by yourself; If you have special requirements, drop us a few lines and perhaps we can help you out too.
Please take in considerations than this application is still under active development and we cannot guarantee that nothing will break between versions. Most of the core features are already there, so we expect to release a beta version soon.
Django-QA aims at keeping things simple. To install it you have to do what you would do with most django apps.
Install with pip:
pip install django-qa
Add to INSTALLED_APPS in your project settings:
INSTALLED_APPS = ( ... 'qa', 'taggit', 'hitcount', ... )
Add the package urls to the project:
urlpatterns = [ ..., url(r'^', include('qa.urls')), ... ]
python manage.py migrate
And that’s it!
QA_DESCRIPTION_OPTIONAL (False). This flag disables validation for description field, allowing title only questions.
Django qa uses django-hitcount . If you want to have a custom behaviour for the hitcounts feature, feel free to use django-hitcount settings.
With this setup you will have a functional questions and answers section inside of your project. Probably you will need to work on changing the default templates to fit the look and feel of your site.
If your project has an user profile already, you may want to merge it with the data provided by this app (questions, answers, comments, reputation, etc). That requires some extra work, but can be done without using ugly hacks.
The template structure serves as a foundation for your project, but you can (and should) override the defaults to better suit your needs. For example we load bootstrap3 from a CDN, but if your application already has bootstrap in a package you can just extend from your main base template.
The package has no moderation options on none of the models yet and still lacks REST support.
If you think that something essential for this kind of application is missing, you can request a feature by adding an issue to our repository.