1
0

views.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #from django.shortcuts import render
  2. from django.http import Http404
  3. from django.shortcuts import render, get_object_or_404
  4. from .models import Article
  5. def index(request):
  6. latest_article_list = Article.objects.filter(published=True).order_by('-updated')[:5]
  7. for article in latest_article_list:
  8. article = article_decoration(article)
  9. context = {
  10. 'parent_title': 'Knowledgebase',
  11. 'parent_url': 'knowledgebase:index',
  12. 'parent_icon': 'newspaper outline',
  13. 'title': 'Knowledgebase',
  14. 'icon': 'list',
  15. 'description': 'Index of knowledgebase articles.',
  16. 'keywords': 'knowledgebase, articles, index',
  17. 'latest_article_list': latest_article_list,
  18. }
  19. #output = ', '.join([article.title for article in latest_article_list])
  20. return render(request, 'knowledgebase/index.html', context)
  21. def article(request, article_slug):
  22. article = get_object_or_404(Article, slug=article_slug)
  23. article = article_decoration(article)
  24. context = {
  25. 'parent_title': 'Knowledgebase',
  26. 'parent_url': 'knowledgebase:index',
  27. 'parent_icon': 'newspaper outline',
  28. 'title': article.title,
  29. 'icon': 'file alternate outline',
  30. 'description': article.description,
  31. 'keywords': article.keywords,
  32. 'article': article,
  33. 'category': article.category,
  34. }
  35. return render(request, 'knowledgebase/article.html', context)
  36. def edit_article(request, article_slug):
  37. article = get_object_or_404(Article, slug=article_slug)
  38. article = article_decoration(article)
  39. context = {
  40. 'parent_title': 'Knowledgebase',
  41. 'parent_url': 'knowledgebase:index',
  42. 'parent_icon': 'newspaper outline',
  43. 'title': 'Edit ' + article.title,
  44. 'icon': 'file alternate outline',
  45. 'description': article.description,
  46. 'keywords': article.keywords,
  47. 'article': article,
  48. 'category': article.category,
  49. }
  50. return render(request, 'knowledgebase/edit_article.html', context)
  51. def article_decoration(article):
  52. if article.category == 'ot':
  53. article.category = 'Other'
  54. article.icon = 'archive'
  55. else:
  56. article.category = 'Unkown'
  57. article.icon = 'question'
  58. return article