1
0

views.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. from django.shortcuts import render
  2. from django.template import loader
  3. from django.urls import reverse
  4. from django.http import HttpResponse, HttpResponseRedirect
  5. from django.utils.html import strip_tags
  6. from django.core.paginator import Paginator
  7. from django.contrib import messages
  8. from django.contrib.auth import authenticate, login, logout
  9. from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
  10. from django.contrib.auth.models import User
  11. from django.db.models import Q
  12. #from blog.forms import *
  13. from core.views import gen_page_base, gen_page_sys
  14. from blog.models import *
  15. def blog_index(request, bcat):
  16. #print(bcat)
  17. template = loader.get_template('listing.html')
  18. page = gen_page_base()
  19. page.p_adresse = reverse('blog_index')
  20. page.p_titre = "Les articles du Blog"
  21. page.p_contenu = ""
  22. page.p_right = "Retrouvez les tous les articles de mon blog"
  23. page.p_description = strip_tags(page.p_right)
  24. page.p_mots_clefs = "blog, news, "
  25. b_search = request.GET.get('b_search')
  26. if b_search != None:
  27. page.blog_search = Blog_search_Form(initial={'b_search': b_search,})
  28. q= Q(b_titre__icontains=b_search) | Q(b_mots_clefs__icontains=b_search) | Q(b_description__icontains=b_search)
  29. else:
  30. page.blog_search = Blog_search_Form()
  31. if bcat == "index":
  32. if b_search != None:
  33. blog_art = Blog.objects.filter( b_publier = True ).filter(q).order_by( '-b_publdate' )[:5]
  34. else :
  35. blog_art = Blog.objects.filter( b_publier = True ).order_by( '-b_publdate' )[:5]
  36. page.blog_cat = Cat_Blog.objects.all()[:15]
  37. elif bcat == "all":
  38. blog_art = Blog.objects.filter( b_publier = True ).order_by( '-b_publdate' )
  39. page.blog_cat = Cat_Blog.objects.all()[:15]
  40. else :
  41. if b_search != None:
  42. blog_art = Blog.objects.filter( b_publier = True ).filter( b_cat__cb_titre_slgify = bcat ).filter(q).order_by( '-b_publdate' )
  43. else :
  44. blog_art = Blog.objects.filter( b_publier = True ).filter( b_cat__cb_titre_slgify = bcat ).order_by( '-b_publdate' )
  45. page.blog_cat = Cat_Blog.objects.filter( cb_titre_slgify = bcat )[:15]
  46. page.retour = "blog_index"
  47. paginator = Paginator(blog_art, 15)
  48. page.number = request.GET.get('page')
  49. page.blog_art = paginator.get_page(page.number)
  50. #print(page.blog_art.paginator.num_pages)
  51. page.blog_art.nbpage = range(page.blog_art.paginator.num_pages)
  52. for cat in page.blog_cat.all():
  53. page.p_mots_clefs = page.p_mots_clefs + cat.cb_titre + ', '
  54. page.blog_top10 = Blog.objects.filter( b_publier = True ).order_by( '-b_reading' )[:10]
  55. html = template.render({
  56. 'page': page,
  57. 'user': request.user,
  58. }, request)
  59. return HttpResponse(html)
  60. def blog_play(request, bart):
  61. template = loader.get_template('read.html')
  62. page = gen_page_base()
  63. page.p_adresse = reverse('blog_index')
  64. page.blog_art = Blog.objects.filter(b_titre_slugify = bart)[:1]
  65. page.c_card_mp = "True"
  66. for art in page.blog_art:
  67. page.p_titre = art.b_titre
  68. page.p_contenu = art.b_description
  69. page.p_description = strip_tags(art.b_description)
  70. if art.b_right != "":
  71. page.p_right = art.b_right
  72. else:
  73. page.p_right = " "
  74. page.p_mots_clefs = ""
  75. for cat in art.b_cat.all():
  76. page.p_mots_clefs = page.p_mots_clefs + cat.cb_titre + ', '
  77. art.b_reading = art.b_reading + 1
  78. art.save()
  79. print(page)
  80. html = template.render({
  81. 'page': page,
  82. 'user': request.user,
  83. }, request)
  84. return HttpResponse(html)
  85. def blog_update(request):
  86. arts = Blog.objects.all()
  87. for art in arts:
  88. print(art.b_titre_slugify)
  89. art.b_contenu = art.b_contenu.replace('é"','é').replace('à"','à').replace('ê"','ê').replace('è"','è').replace('ô"', 'ô').replace('«"', '«').replace('»"', '»')
  90. #art.b_contenu = art.b_contenu.replace('rsquo','|||').replace('|||','').replace('"',"'").replace("''","'")
  91. art.save()
  92. return HttpResponse("OK")