From 3dcbeb9284dc3fac0d3eaf9c0c09657fe914b440 Mon Sep 17 00:00:00 2001 From: paov Date: Wed, 12 Oct 2022 16:45:22 +0300 Subject: [PATCH] third --- choose/templates/choose.html | 105 +++++++++++++++++++++++++++++++++++ choose/views.py | 22 ++++++-- tea/settings.py | 7 +++ tea/urls.py | 3 +- 4 files changed, 132 insertions(+), 5 deletions(-) create mode 100644 choose/templates/choose.html diff --git a/choose/templates/choose.html b/choose/templates/choose.html new file mode 100644 index 0000000..3439749 --- /dev/null +++ b/choose/templates/choose.html @@ -0,0 +1,105 @@ + + + + + Title + + + + {% for category_name,category in categories.items %} + + + {% for type_name,type in category.items %} + + + + + {% endfor %} + + {% endfor %} +
+

{{ category_name }}

+
+ + + +
+

0

+ + + + \ No newline at end of file diff --git a/choose/views.py b/choose/views.py index dda6584..f73e86a 100644 --- a/choose/views.py +++ b/choose/views.py @@ -1,13 +1,16 @@ +import json from collections import OrderedDict -from django.http import JsonResponse +from django.http import JsonResponse, HttpResponse from django.shortcuts import render +from django.template import loader + from .models import Tea, TeaType, TeaCategory, Pic # Create your views here. from .utils import get_extension -def list(request): +def list_of_teas(): dic = OrderedDict() for cat in TeaCategory.objects.all(): dic[cat.name] = OrderedDict() @@ -16,8 +19,19 @@ def list(request): if tt.preferred is not None: dic[tt.category.name][tt.name] = OrderedDict() dic[tt.category.name][tt.name]['preferred'] = tt.preferred.name - dic[tt.category.name][tt.name]['price'] = tt.preferred.price + dic[tt.category.name][tt.name]['price'] = int(tt.preferred.price / 100) dic[tt.category.name][tt.name]['pic'] = str(tt.preferred.pic.id) + '.' + get_extension( tt.preferred.pic.href) - return JsonResponse(dic, json_dumps_params={'ensure_ascii': False}) + return {'categories': dic, 'ms': [0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500]} + + +def home(request): + context = list_of_teas() + template = loader.get_template('choose.html') + return HttpResponse(template.render(context, request)) + + +def confirm_choose(request): + choice = json.loads(request.body.decode(encoding='UTF-8')) + return JsonResponse({'response': 'ok'}) diff --git a/tea/settings.py b/tea/settings.py index a299016..d656f4d 100644 --- a/tea/settings.py +++ b/tea/settings.py @@ -39,6 +39,7 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'corsheaders', 'choose' ] @@ -46,6 +47,7 @@ MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', + 'corsheaders.middleware.CorsMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', @@ -127,3 +129,8 @@ DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' MEDIA_ROOT = f'{BASE_DIR}/media' MEDIA_URL = '/media/' +CORS_ORIGIN_WHITELIST = [ + 'http://10.15.0.1:8000', + 'http://localhost:8000', + 'http://127.0.0.1:9000' +] diff --git a/tea/urls.py b/tea/urls.py index 0183f70..2a33f32 100644 --- a/tea/urls.py +++ b/tea/urls.py @@ -22,7 +22,8 @@ import choose.views urlpatterns = [ path('admin/', admin.site.urls), - path('list', choose.views.list) + path('', choose.views.home), + path('confirm-choice', choose.views.confirm_choose) ] if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)