def write(request): if request.method == 'POST': form = ArticleForm(request.POST) if form.is_valid(): article = Article() article.create_user = request.user article.title = form.cleaned_data.get('title') article.content = form.cleaned_data.get('content') status = form.cleaned_data.get('status') if status in [Article.PUBLISHED, Article.DRAFT]: article.status = form.cleaned_data.get('status') article.save() tags = form.cleaned_data.get('tags') article.create_tags(tags) return redirect('/articles/') else: form = ArticleForm() return render(request, 'articles/write.html', {'form': form})
def edit(request, id): tags = '' if id: article = get_object_or_404(Article, pk=id) for tag in article.get_tags(): tags = u'{0} {1}'.format(tags, tag.tag) tags = tags.strip() else: article = Article(create_user=request.user) if request.POST: form = ArticleForm(request.POST, instance=article) if form.is_valid(): form.save() return redirect('/articles/') else: form = ArticleForm(instance=article, initial={'tags': tags}) return render(request, 'articles/edit.html', {'form': form})
def articles(request): all_articles = Article.get_published() return _articles(request, all_articles)