Giter Club home page Giter Club logo

django-qa's Introduction

WELCOME TO DJANGO-QA

Build Status Coveralls Status PyPi latest version

Development status

Requirements Status Documentation Status

A Simple Q&A App using Python Django

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.

Features

  • Assumes nothing about the rest of your application.
  • Create questions and answers.
  • Comment on questions and answers.
  • Upvote/Downvote questions and answers.
  • Users have a reputation and a profile.
  • Support for tagging questions with django-taggit.
  • Support for hit counts with django-hitcounts.
  • Questions are categorized by latest, popular and most voted.

Installation

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')),
    ...
]

Run migrations:

python manage.py migrate

And that's it!

Settings

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.

About the functionality

  • The package is integrated with the framework authentication process, right now the package defines an user profile linked to Django's user model, this models was created to contain information related to the user's activities inside the package functionalities.
  • It has comments on questions and answers.
  • It has no support for anonymous questions nor answers or comments.
  • It has tagging support through django-taggit.
  • It has a basic implementation for score and reputation records.

Next steps

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.

django-qa's People

Contributors

sebastian-code avatar arjunkomath avatar bitdeli-chef avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.