Add a help desk or knowledge base to your Django project with only a few lines of boilerplate code.

Related tags

Django deprecated
Overview

This project is no longer maintained. If you are interested in taking over the project, email [email protected].

Welcome to django-knowledge!

django-knowledge makes it easy to add an integrated support desk, help desk or knowledge base to your Django project with only a few lines of boilerplate code. While we give you a generic design for free, you should just as easily be able to customize the look and feel of the app if you like.

django-knowledge was developed internally for Zapier (see it live here on our support page). Or, check out a plain, live demo.

At a glance:

  • Turn common questions or support requests into a knowledge base.
  • Control who sees what with simple per object view permissions: public (everyone), private (poster & staff), or internal (only staff).
  • Assign questions and answers to categories for easy sorting.
  • Staff get moderation controls or they can use the familiar Django admin to handle support requests.
  • Allow anonymous questions, or require a standard Django user account (the default).
  • Included base templates and design with prebundled HTML and CSS.
  • Optionally alert users of new responses via email (or your own alert system).
  • BSD license.

Links:

Screen Shots:

a common thread viewed by anonymous user

a common thread viewed by a moderator (staff)

ask form

the home page

search results with ask form at bottom

100% coverage on tests

Comments
  • Why the software history was not kept?

    Why the software history was not kept?

    Hi there,

    I'm a researcher studying software evolution. As part of my current research, I'm studying the implications of open-sourcing a proprietary software, for instance, if the project succeed in attracting newcomers. However, I observed that some projects, like django-knowledge, deleted the software history during the transition to open-source.

    Knowing that software history is indispensable for developers (e.g., developers need to refer to history several times a day), I would like to ask django-knowledge developers the following four brief questions:

    1. Why did you decide to not keep the software history?
    2. Do the core developers faced any kind of problems, when trying to refer to the old history? If so, how did they solve these problems?
    3. Do the newcomers faced any kind of problems, when trying to refer to the old history? If so, how did they solve these problems?
    4. How does the lack of history impacted on software evolution? Does it placed any burden in understanding and evolving the software?

    Thanks in advance for your collaboration,

    Gustavo Pinto, PhD http://www.gustavopinto.org

    opened by gustavopinto 3
  • django 1.6.* support?

    django 1.6.* support?

    /knowledge url is working fine, but then when clicking a question, below is returned

    " NoReverseMatch at /knowledge/ask/ Reverse for 'knowledge_thread' with arguments '(3, u'')' and keyword arguments '{}' not found. 1 pattern(s) tried: ['knowledge/questions/(?P<question_id>\d+)/(?P[a-z0-9-_]+)/$']"

    And in the error message it refers to " knowledge/templates/django_knowledge/sidebar.html, error at line 11" which is "" and official djangoproject.com says "exception NoReverseMatch The NoReverseMatch exception is raised by django.core.urlresolvers when a matching URL in your URLconf cannot be identified based on the parameters supplied"

    What do I have to look into ? Is it django1.6 compatibility issue ? BTW, I am using django1.6.1

    opened by sunjoomoon 3
  • Base template

    Base template

    django-knowledge documentation ( http://django-knowledge.readthedocs.org/en/latest/customize.html#if-you-have-your-own-template-shim-wrapper ) mentions a KNOWLEDGE_BASE_TEMPLATE setting that does not exist in source code.

    This patch allow user to customize base template. KNOWLEDGE_BASE_TEMPLATE's default is django_knowledge/base.html .

    inner.html template now extends BASE_TEMPLATE template variable, which is passed in views. I considered to pass this variable to the template using a context processor, but it has several drawbacks like asking user to append it in his configuration file.

    opened by hugoatease 2
  • Add older versions to pip registry.

    Add older versions to pip registry.

    Our system is still using django v1.3.1 so we need the older version of django-knowledge v0.0.6. Would it be possible to add the older versions of django-knowledge to the pip registry?

    Thanks and have an epic day!

    opened by Gabrinthei 2
  • Bugfix: Non ascii-chars in user name

    Bugfix: Non ascii-chars in user name

    First and last names of users were treated as non-unicode strings. This lead the application to stop working (decode error) if a user with non-ascii name saved a question. I added two characters to fix this problem - declaring strings as unicode were the user lastname/firstname are read.

    PS: Sorry for two separate commits - its the first time I use github ;-) PPS: Thank you for your work. I really like it.

    opened by kjona 2
  • Default value for BASE_TEMPLATE in inner.html

    Default value for BASE_TEMPLATE in inner.html

    Hello again !

    Here's a little fix to address the issue you mentioned about BASE_TEMPLATE variable passing.

    If the template argument is forgotten, it defaults to bundled base template.

    opened by hugoatease 1
  • Migrations fixed for 1.5 custom user model

    Migrations fixed for 1.5 custom user model

    The migrations relied on auth.user. Added a couple of lines to knowledge.utils to lookup the custom user model. Ported/patched the migrations to use the new lookup variable so that they handle being run when there is only a custom user model.

    opened by techdragon 1
  • fix urls.py priority

    fix urls.py priority

    Previous urls.py priority will cause question page not accessible, but category page instead, when SLUG_URLS is set to False.

    I use Chinese, so slug is almost useless, so I turn it off.

    opened by tzangms 1
  • Travis support

    Travis support

    This adds a configuration file for Travis CI and fixes a number of issues with testing that came up. I think the repo owner still needs to link their account to Travis and click on a few buttons to fully enable Travis.

    I've also removed the version pinning from requirements.txt - it made testing multiple versions of Django impossible without downloading it twice (once for the version pinned in requirements.txt and then once again for the version specified in the testing matrix)

    opened by moggers87 0
  • Updating django-knowledge for Django 2.0.1

    Updating django-knowledge for Django 2.0.1

    Hello Zapier,

    I'm a pretty new developer, I'm currently building a point of sale system for my company that i've built with django. I wanted to also integrate a knowledge base for all of the processes that we've written. This project had the nuts and bolts of what I wanted so I installed it into my project and updated everything to get it working. While doing that I thought I'd contribute to my first ever project on github. I know that you guys don't maintain this anymore so I'm not sure if you guys will see this but it's worth a shot. Any feedback would be great and I apologize for any commit messages that aren't very clear. You can tell that I work alone most of the time.

    opened by ktryber 0
  • get_query_set incompatible with Django 1.8

    get_query_set incompatible with Django 1.8

    The get_query_set method has been renamed to get_queryset in Django 1.6 https://docs.djangoproject.com/en/1.8/releases/1.6/#get-query-set-and-similar-methods-renamed-to-get-queryset and is removed in Django 1.8 https://docs.djangoproject.com/en/1.8/releases/1.8/#features-removed-in-1-8

    Traceback:
    File "/home/user/my-env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
      132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
    File "/home/user/my-env/local/lib/python2.7/site-packages/knowledge/views.py" in knowledge_index
      45.     questions = Question.objects.can_view(request.user)\
    File "/home/user/my-env/local/lib/python2.7/site-packages/knowledge/managers.py" in can_view
      10.         qs = super(QuestionManager, self).get_query_set()\
    
    Exception Type: AttributeError at /knowledge/
    Exception Value: 'super' object has no attribute 'get_query_set'
    
    opened by legrostdg 0
  • added categories to question form

    added categories to question form

    Categories were left out from the form to submit a new question, meaning that the only way to assign a question to a category was through the admin interface. ModelForm creates the same kind of interface that's in admin for assigning categories when given the categories field; so I added it for authenticated users and made it optional.

    opened by wws9vh 0
  • Django 1.6 breaks markup template tag library

    Django 1.6 breaks markup template tag library

    Django 1.6 removes markup from the django.core feature set.

    More information:

    django.contrib.markup will be removed following an accelerated deprecation.

    The solution is one of two things:

    1. (Not recommended, but useful as a patch) Use django-markup-deprecated. This allows you to keep the {% load markup %} template tag.
    2. (Recommended) Use django-markupfield where relevant in your models.

    In my (currently unmerged) fork and commit of this project I added support for Textile. I am also going to fix this problem using the second approach above and commit to my fork.

    opened by robnewman 10
Django + NextJS + Tailwind Boilerplate

django + NextJS + Tailwind Boilerplate About A Django project boilerplate/templa

Shayan Debroy 3 Mar 11, 2022
Boilerplate Django Blog for production deployments!

CFE Django Blog THIS IS COMING SOON This is boilerplate code that you can use to learn how to bring Django into production. TLDR; This is definitely c

Coding For Entrepreneurs 26 Dec 9, 2022
Add Chart.js visualizations to your Django admin using a mixin class

django-admincharts Add Chart.js visualizations to your Django admin using a mixin class. Example from django.contrib import admin from .models import

Dropseed 22 Nov 22, 2022
Blog focused on skills enhancement and knowledge sharing. Tech Stack's: Vue.js, Django and Django-Ninja

Blog focused on skills enhancement and knowledge sharing. Tech Stack's: Vue.js, Django and Django-Ninja

Wanderson Fontes 2 Sep 21, 2022
Django project starter on steroids: quickly create a Django app AND generate source code for data models + REST/GraphQL APIs (the generated code is auto-linted and has 100% test coverage).

Create Django App ?? We're a Django project starter on steroids! One-line command to create a Django app with all the dependencies auto-installed AND

imagine.ai 68 Oct 19, 2022
A beginner django project and also my first Django project which involves shortening of a longer URL into a short one using a unique id.

Django-URL-Shortener A beginner django project and also my first Django project which involves shortening of a longer URL into a short one using a uni

Rohini Rao 3 Aug 8, 2021
A Django GraphQL (Graphene) base template

backend A Django GraphQL (Graphene) base template Make sure your IDE/Editor has Black and EditorConfig plugins installed; and configure it lint file a

Reckonsys 4 May 25, 2022
pytest-django allows you to test your Django project/applications with the pytest testing tool.

pytest-django allows you to test your Django project/applications with the pytest testing tool.

pytest-dev 1.1k Dec 14, 2022
django-dashing is a customisable, modular dashboard application framework for Django to visualize interesting data about your project. Inspired in the dashboard framework Dashing

django-dashing django-dashing is a customisable, modular dashboard application framework for Django to visualize interesting data about your project.

talPor Solutions 703 Dec 22, 2022
Management commands to help backup and restore your project database and media files

Django Database Backup This Django application provides management commands to help backup and restore your project database and media files with vari

null 687 Jan 4, 2023
Add infinite scroll to any django app.

django-infinite-scroll Add infinite scroll to any django app. Features - Allows to add infinite scroll to any page.

Gustavo Teixeira 1 Dec 26, 2021
An app that allows you to add recipes from the dashboard made using DJango, JQuery, JScript and HTMl.

An app that allows you to add recipes from the dashboard. Then visitors filter based on different categories also each ingredient has a unique page with their related recipes.

Pablo Sagredo 1 Jan 31, 2022
Ugly single sign-on for django projects only

django-usso Ugly single sign-on for django projects only. Do you have many django apps with different users? Do you want to use only one of those apps

Erwin Feser 1 Mar 1, 2022
Dockerizing Django with Postgres, Gunicorn, Nginx and Certbot. A fully Django starter project.

Dockerizing Django with Postgres, Gunicorn, Nginx and Certbot ?? Features A Django stater project with fully basic requirements for a production-ready

null 8 Jun 27, 2022
Django Starter is a simple Skeleton to start with a Django project.

Django Starter Template Description Django Starter is a simple Skeleton to start

Numan Ibn Mazid 1 Jan 10, 2022
Intellicards-backend - A Django project bootstrapped with django-admin startproject mysite

Intellicards-backend - A Django project bootstrapped with django-admin startproject mysite

Fabrizio Torrico 2 Jan 13, 2022
Notes-Django: an advanced project to save notes in Django. where users are able to Create, Read, Update and Delete their notes.

An advanced software to keep you notes. It allows users to perform CRUD operations on theirs Notes. Was implemented Authorization and Authentication

Edilson Pateguana 1 Feb 5, 2022
Neighbourhood - A python-django web app to help the residence of a given neighborhood know their surrounding better

Neighbourhood A python-django web app to help the residence of a given neighborh

Levy Omolo 4 Aug 25, 2022
Django-environ allows you to utilize 12factor inspired environment variables to configure your Django application.

Django-environ django-environ allows you to use Twelve-factor methodology to configure your Django application with environment variables. import envi

Daniele Faraglia 2.7k Jan 7, 2023