def ask(request): """ Ask POST-only handler """ data = {'questionform': None} # check if POST if request.method != 'POST': return HttpResponseForbidden() # вытаскиваем теги из поля tag_list = request.POST.get('tags', '').split(',') if '' in tag_list: tag_list.remove('') form = QuestionForm(request.POST) data['questionform'] = form data['form_tags'] = tag_list if form.is_valid(): user = request.user question_user = QuestionsUser.objects.filter(user=user) # check if questionsUser exists if len(question_user) == 0: return HttpResponseForbidden() # create new question title = form.cleaned_data['title'] content = form.cleaned_data['content'] q = Question(author=question_user[0], title=title, content=content) q.save() # adding tags after save to have id q.add_tags(tag_list) return json({'status': 'ok', 'url': q.get_absolute_url()}) return json({'status': 'error', 'html': render_to_string("ask.html", RequestContext(request, data))})