Browse Source

update 16-12-23

Mr Duhaz 2 năm trước cách đây
mục cha
commit
13e8ad1b5c

BIN
blog/__pycache__/models.cpython-310.pyc


BIN
blog/__pycache__/views.cpython-310.pyc


+ 1 - 1
blog/models.py

@@ -51,7 +51,7 @@ class Blog(models.Model) : #Architecture pour le blog
 
 
 class Blog_search_Form(forms.Form):
-	b_search = forms.CharField(label='Votre recherche', max_length=100)
+	b_search = forms.CharField(label='Vous recherchez un article ?', max_length=100)
 
 class Blog_Admin_Form(forms.ModelForm):
 	class Meta:

+ 34 - 2
blog/templates/listing.html

@@ -36,7 +36,7 @@
 {% if page.p_right != "" %}
 <div class="card" style="background-color: rgba(250,250,250,0.88);" >
 <div class="card-body">
-	<form action="." method="get">
+	<form action="" method="get">
 		<div class="row align-items-center">
 			
 			<div class="col-lg-8 col-sm-12">
@@ -48,6 +48,39 @@
 		</div>
 	</form>
 	<hr>
+	{% if page.blog_art.paginator.num_pages != 1 %}
+	<p class="card-text">
+	<nav aria-label="...">
+		<ul class="pagination justify-content-center">
+			{% if page.blog_art.has_previous %}
+				<li class="page-item">
+					<a class="page-link" href="?page={{ page.blog_art.previous_page_number }}"> << </a>
+				</li>
+			{% else %}
+				<li class="page-item disabled">
+					<span class="page-link"> << </span>
+				</li>
+			{% endif %}
+			{% for nb_page in page.blog_art.nbpage %}
+				{% if page.blog_art.number == forloop.counter %}
+					<li class="page-item active" aria-current="page"><span class="page-link">{{forloop.counter}}</span></li>
+				{% else %}
+					<li class="page-item"><a class="page-link" href="?page={{forloop.counter}}">{{forloop.counter}}</a></li>
+				{% endif %}
+			{% endfor %}
+			{% if page.blog_art.has_next %}
+				<li class="page-item">
+					<a class="page-link" href="?page={{ page.blog_art.next_page_number }}"> >> </a>
+				</li>
+			{% else %}
+				<li class="page-item disabled">
+					<span class="page-link"> >> </span>
+				</li>
+			{% endif %}
+		</ul>
+	</nav>
+	<p>
+	{% endif %}
 	<p class="card-text">{{page.p_right|safe}}</p>
 	<h4> <i class="fas fa-tags"></i> Les Catégories </h4>
 	<p class="card-text">
@@ -73,7 +106,6 @@
 	{% if page.retour %}
 	<p class="card-text">
 		<a href="{% url page.retour %}" class="btn btn-dark mb-2" tabindex="-1" role="button" aria-disabled="true"><i class="fas fa-undo-alt"></i> Retour</a>
-
 	</p>
 	{% endif %}
 	

+ 9 - 4
blog/templates/read.html

@@ -21,21 +21,26 @@
 	{% for item in page.blog_art %}
 	{% if item.b_description_img != "" %}
 		<p><img src="{{item.b_description_img}}"></p>
+		<h4> Indroduction </h4>
 		<p>{{item.b_description|safe}}</p>
 	{% endif %}
 	<p>
 		<b>Nombre de Lectures </b>: {{item.b_reading}}<br>
 		<b>Date de mise en ligne </b>: {{item.b_publdate|date:"m N Y à H:i"}}
 	</p>
-	<h5> Les Catégories </h5>
+	<h4> Les Catégories </h4>
 	<p>
 		{% for cat in item.b_cat.all %}
-			<a href="{% url 'blog_tag' cat.cb_titre_slgify %}" class="btn btn-dark" tabindex="-1" role="button" aria-disabled="true">{{cat.cb_titre}}</a>
+			<a href="{% url 'blog_tag' cat.cb_titre_slgify %}" class="btn btn-dark mb-2" tabindex="-1" role="button" aria-disabled="true">{{cat.cb_titre}}</a>
 		{% endfor %}
 	{% endfor %}
 	</p>
-	<hr>
-	<a href="{% url page.retour %}" class="btn btn-dark mb-2" tabindex="-1" role="button" aria-disabled="true"><i class="fas fa-undo-alt"></i> Retour</a>
+
+	{% if page.retour %}
+		<p class="card-text">
+			<a href="{% url page.retour %}" class="btn btn-dark mb-2" tabindex="-1" role="button" aria-disabled="true"><i class="fas fa-undo-alt"></i> Retour</a>
+		</p>
+	{% endif %}
 </div>
 </div>
 {% endblock %}

+ 33 - 19
blog/views.py

@@ -1,23 +1,27 @@
 from django.shortcuts import render
 from django.template import loader
 from django.urls import reverse
-from django.utils.html import strip_tags
-from django.http import HttpResponse, HttpResponseRedirect
-from django.contrib import messages
-from django.db.models import Q
 
+from django.http import HttpResponse, HttpResponseRedirect
+from django.utils.html import strip_tags
 
+from django.core.paginator import Paginator
 
+from django.contrib import messages
 from django.contrib.auth import authenticate, login, logout
 from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
 from django.contrib.auth.models import User
 
+from django.db.models import Q
+
 #from blog.forms import *
 from core.views import gen_page_base, gen_page_sys
 from blog.models import *
 
 def blog_index(request, bcat):
 
+#print(bcat)
+
 	template = loader.get_template('listing.html')
 	page = gen_page_base()
 	page.p_adresse = reverse('blog_index')
@@ -26,32 +30,41 @@ def blog_index(request, bcat):
 	page.p_right = "Retrouvez les tous les articles de mon blog"
 	page.p_description = strip_tags(page.p_right)
 	page.p_mots_clefs = "blog, news, "
-
 	
 
-	if request.method == 'GET':
-		search = request.GET['b_search']
-		q_search = Q(b_titre__icontains=search) | Q(b_mots_clefs__icontains=search)| Q(b_description__icontains=search)| Q(b_cat__cb_titre__icontains=search)
-		page.blog_search = Blog_search_Form(initial={'b_search': search})
-	else :
-		page.blog_search = Blog_search_Form()
+	b_search = request.GET.get('b_search')
 
+	if b_search != None:
+		page.blog_search = Blog_search_Form(initial={'b_search': b_search,})
+		q= Q(b_titre__icontains=b_search) | Q(b_mots_clefs__icontains=b_search) | Q(b_description__icontains=b_search)
+	else:
+		page.blog_search = Blog_search_Form()
 	if bcat == "index":
-		if not q_search :
-			page.blog_art = Blog.objects.filter( b_publier = True ).order_by( '-b_publdate' )[:15]
+		if b_search != None:
+			blog_art = Blog.objects.filter( b_publier = True ).filter(q).order_by( '-b_publdate' )[:5]
 		else :
-			page.blog_art = Blog.objects.filter(q_search).filter( b_publier = True ).order_by( '-b_publdate' )[:15]
+			blog_art = Blog.objects.filter( b_publier = True ).order_by( '-b_publdate' )[:5]
 		page.blog_cat = Cat_Blog.objects.all()[:15]
 
 	elif bcat == "all":
-		page.blog_art = Blog.objects.filter( b_publier = True ).order_by( '-b_publdate' )
+		blog_art = Blog.objects.filter( b_publier = True ).order_by( '-b_publdate' )
 		page.blog_cat = Cat_Blog.objects.all()[:15]
 	else :
-		page.blog_art = Blog.objects.filter( b_publier = True ).filter( b_cat__cb_titre_slgify = bcat ).order_by( '-b_publdate' )[:15]
+		if b_search != None:
+			blog_art = Blog.objects.filter( b_publier = True ).filter( b_cat__cb_titre_slgify = bcat ).filter(q).order_by( '-b_publdate' )
+		else :
+			blog_art = Blog.objects.filter( b_publier = True ).filter( b_cat__cb_titre_slgify = bcat ).order_by( '-b_publdate' )
 		page.blog_cat = Cat_Blog.objects.filter( cb_titre_slgify = bcat )[:15]
-		page.blog_filter = True
 		page.retour = "blog_index"
 
+	paginator = Paginator(blog_art, 15)
+	page.number = request.GET.get('page')
+
+	page.blog_art = paginator.get_page(page.number)
+	#print(page.blog_art.paginator.num_pages)
+	
+	page.blog_art.nbpage = range(page.blog_art.paginator.num_pages)
+
 	for cat in page.blog_cat.all():
 		page.p_mots_clefs = page.p_mots_clefs + cat.cb_titre + ', '
 
@@ -69,8 +82,7 @@ def blog_play(request, bart):
 	template = loader.get_template('read.html')
 	page = gen_page_base()
 	page.p_adresse = reverse('blog_index')
-	page.blog_art = Blog.objects.filter( b_titre_slugify = bart)[:1]
-	page.retour = "blog_index"
+	page.blog_art = Blog.objects.filter(b_titre_slugify = bart)[:1]
 
 	for art in page.blog_art:
 		page.p_titre = art.b_titre
@@ -88,6 +100,8 @@ def blog_play(request, bart):
 		art.b_reading = art.b_reading + 1
 		art.save()
 
+		print(page)
+
 	html = template.render({
 		'page': page,
 		'user': request.user,

BIN
core/__pycache__/views.cpython-310.pyc


+ 3 - 6
core/templates/base.html

@@ -10,11 +10,10 @@
 <title>{% if page.p_meta_title %}{{page.p_meta_title}} | {% elif page.p_titre %}{{page.p_titre}} | {% endif %}M'sieur Duhaz</title>
 <link rel="shortcut icon" href="/static/favicon.ico">
 <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
-
 <link href="//fonts.googleapis.com/css2?family=Kufam&display=swap" rel="stylesheet">
+
 <script src="https://kit.fontawesome.com/7cf2a101ac.js"></script>
 <script src="https://unpkg.com/@popperjs/core@2"></script>
-
 {% if not request.user.is_authenticated %}
 <script data-ad-client="ca-pub-0171697375250839" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
 {% endif %}
@@ -87,8 +86,6 @@
 				{% endif %}
 				{% endcomment %}
 				</ul>
-				
-				
 			</div>
 		</div>
 		<nav class="navbar navbar-dark" style="background-color: #093554;">
@@ -131,7 +128,7 @@
 			<div class="card" style="background-color: rgba(250,250,250,0.88);" >
 				{% block right_panel %}
 				{% endblock %}
-				{% if not request.user.is_authenticated %}
+				{% if not request.user.is_authenticated and not "account/" in request.path %}
 					<div class="card-body">
 						<h5 class="card-title"> Une Pub </h5>
 						<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
@@ -156,7 +153,7 @@
 </main>
 <footer class="footer mt-auto py-3 text-white" style="background-color: rgba(45, 57, 72, 0.91);">
 	<div class="container">
-		Duhaz.fr - dec.2021
+		Duhaz.fr - dec.2023
 		{% if page.p_menu_pied %}
 		 - 
 		{% for item in page.p_menu_pied %}

+ 4 - 4
core/templates/base_no_card.html

@@ -11,6 +11,7 @@
 <link rel="shortcut icon" href="/static/favicon.ico">
 <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
 <link href="//fonts.googleapis.com/css2?family=Kufam&display=swap" rel="stylesheet">
+
 <script src="https://kit.fontawesome.com/7cf2a101ac.js"></script>
 <script src="https://unpkg.com/@popperjs/core@2"></script>
 {% if not request.user.is_authenticated %}
@@ -116,12 +117,12 @@
 			{% endif %}
 			{% block main %}{% endblock %}
 		</div>
-		{% if not request.user.is_authenticated or page.p_right %}
+		
 		<div class="col-lg-4 p-lg-1 p-md-0">
 			<div class="card" style="background-color: rgba(250,250,250,0.88);" >
 				{% block right_panel %}
 				{% endblock %}
-				{% if not request.user.is_authenticated %}
+				{% if not request.user.is_authenticated and page.p_right and not "account/" in request.path %}
 					<div class="card-body">
 						<h5 class="card-title"> Une Pub </h5>
 						<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
@@ -140,13 +141,12 @@
 				{% endif %}
 			</div>
 		</div>
-		{% endif %}
 	</div>
 </div>
 </main>
 <footer class="footer mt-auto py-3 text-white" style="background-color: rgba(45, 57, 72, 0.91);">
 	<div class="container">
-		Duhaz.fr - dec.2021
+		Duhaz.fr - dec.2023
 		{% if page.p_menu_pied %}
 		 - 
 		{% for item in page.p_menu_pied %}

+ 1 - 5
core/templates/login.html

@@ -12,7 +12,7 @@
 		<p class="card-text">
 			Pardon, mais vous étez deja connecté. <a href="{% url 'core_index' %}">Retourné à accueil</a>
 		</p>
-		</dev>
+	</div>
 	</div>
 {% else %}
 	<div class="col-sm-9 p-0">
@@ -27,10 +27,6 @@
 	</div>
 	</div>
 
-	<div class="row">
-		<div class="col-lg-12 col-sm-6 col-xl-6 mb-1"><a href="{% url 'social:begin' 'twitter' %}?next={{ request.path }}" class="btn btn-secondary btn-block"><i class="fas fa-twitter" ></i> Se connecter avec Twitter</a></div>
-		<div class="col-lg-12 col-sm-6 col-xl-6 mb-1"><a href="{% url 'social:begin' 'facebook' %}?next={{ request.path }}" class="btn btn-primary btn-block"><i class="fas fa-facebook-official" ></i> Se connecter avec  Facebook</a></div>
-	</div>
 {% endif %}
 {% endblock %}
 

+ 1 - 1
core/views.py

@@ -103,7 +103,7 @@ def p_login(request):
 			user = authenticate(request, username=username, password=password)
 			if user is not None:
 				login(request, user)
-				messages.add_message(request, messages.INFO, 'Bonjour, vous étez maintenant connecté')
+				messages.add_message(request, messages.INFO, 'Bonjour, vous êtes maintenant connecté')
 				if next :
 					return HttpResponseRedirect(next)
 				else :

BIN
db.sqlite3


+ 1 - 0
static/ads.txt

@@ -0,0 +1 @@
+google.com, pub-0171697375250839, DIRECT, f08c47fec0942fa0