def add_question(request):
    # List of success/failure messages to return
    status = []
    form = QuestionForm()
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            form.instance.author = request.user
            form.instance.pub_date = timezone.now()
            form.save()
            status.append(('Success!', 'label-success'))
            form = QuestionForm()
        else:
            status.append(("Something's wrong. :(", "label-danger"))
    return render(request,
                  'questiondb/add_question.html',
                  {'form': form, 'status': status})
def edit_question(request, question_id):
    status = []
    question = get_object_or_404(Question, pk=question_id)
    form = QuestionForm(instance=question);
    if request.method == 'POST':
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            form.save()
            status.append(('Success!', 'label-success'))
        else:
            status.append(("Something's wrong. :(", "label-danger"))
    if not request.user.is_staff and request.user != question.author:
        raise Http404
    return render(request,
                  'questiondb/edit_question.html',
                  {'form': form, 'status': status})