6">16
+</div>
17
+{% for s in top_stores %}
18
+{% endfor %}
19
+{% endblock %}
20
+
21
+

+ 2 - 0
app/front/urls.py

@@ -5,6 +5,8 @@ from . import views
5 5
 
6 6
 urlpatterns = [
7 7
     path('', views.index, name='index'),
8
+    path('stores', views.stores, name='stores'),
9
+    path('search', views.search, name='search'),
8 10
     path('tracking', views.tracking, name='tracking'),
9 11
     path('tracking', views.tracking, name='tracking'),
10 12
     path('success', views.success, name='success'),

+ 35 - 1
app/front/views.py

@@ -1,6 +1,11 @@
1 1
 from django.shortcuts import render, redirect
2 2
 from backend.models import Patient
3
-
3
+from cms.models import Post
4
+from fruit.models import Product
5
+from .forms import SearchForm
6
+from itertools import chain, tee
7
+from operator import attrgetter
8
+from django.db.models import Q
4 9
 # Create your views here.
5 10
 
6 11
 def index(request):
@@ -39,6 +44,35 @@ def agri_market(request):
39 44
     pass
40 45
 
41 46
 
47
+def stores(request):
48
+    top_stores = Post.objects.filter(cat__name="Top Stores", status="publish").order_by("-created_at")
49
+    return render(request, "front/stores.html", {'top_stores': top_stores})
50
+
51
+def search(request):
52
+    form = SearchForm(request.GET)
53
+
54
+    results = None
55
+    if form.is_valid():
56
+        o = form.save(commit = False)
57
+        o.created_by = request.user
58
+        o.save()
59
+
60
+        q = Q()
61
+        q2 = Q()
62
+        if o.content_cat != None:
63
+            q = q & Q(cat = o.content_cat)
64
+
65
+        if o.product_type != None:
66
+            q2 = q2 & Q(product_type = o.product_type)
67
+
68
+        q = q & ( Q(title__contains = o.q ) | Q(body__contains = o.q))
69
+        q2 = q2 & ( Q(name__contains = o.q ) | Q(description__contains = o.q))
70
+
71
+        r1 = Post.objects.filter(q)
72
+        r2 = Product.objects.filter(q2)
73
+        results = list(sorted(chain(r1, r2), key = lambda obj: obj.created_at, reverse = True))
74
+
75
+    return render(request, "front/search.html", {'form': form, 'results': results})
42 76
 
43 77
 def mystore(requeset):
44 78
     pass

tmt/tiger_frontend - Gogs: Simplico Git Service

1 Commitit (main)

Tekijä SHA1 Viesti Päivämäärä
  golf 77628cf8bf first comm 2 vuotta sitten