소스 검색

Добавление функционала

gr421_sknal 1 년 전
부모
커밋
5608af0852

BIN
store/db.sqlite3


+ 0 - 1
store/main/templates/base.html

@@ -13,7 +13,6 @@
     <header>
         <a href="{% url 'index' %}">Главная страница</a>
         <a href="{% url 'services' %}">Товары</a>
-        <a href="{% url 'search' %}">Поиск</a>
         {% if user.is_authenticated %}
         <a href="{% url 'profile' %}">Профиль</a>
         <a href="{% url 'logout' %}">Выход</a>

+ 1 - 1
store/main/templates/index.html

@@ -9,7 +9,7 @@
             <h5 class="index-title">{{item.title}}</h5>
             <p>{{item.short_desc}}</p>
             <img src="{{item.image.url}}" width="350px" height="250px">
-            <a href="" class="btn btn-warning">Подробнее</a>
+            <a href="{% url 'detail' item.id %}" class="btn btn-warning">Подробнее</a>
         </div>
     {% endfor %}
 {% endblock %}

+ 11 - 0
store/main/templates/main/detail.html

@@ -0,0 +1,11 @@
+{% extends "base.html" %}
+
+{% block title %}Детальное описание{% endblock %}
+
+{% block content %}
+    <div class="features">
+        <h1>{{ item.title }}</h1>
+        <img src="{{item.image.url}}" width="350px" height="250px">
+        <p>{{ item.full_desc }}</p>
+    </div>
+{% endblock %}

+ 7 - 1
store/main/templates/main/profile.html

@@ -1,8 +1,14 @@
 {% extends 'base.html' %}
 
 {% block title %}Профиль{% endblock %}
-<h1>Профиль</h1>
+
 
 
 {% block content %}
+{% if user.is_authenticated %}
+<h1>Профиль</h1>
+    <p>{{user.email}}</p>
+{% else %}
+<p>Вы не вошли в систему!</p>
+{% endif %}
 {% endblock %}

+ 10 - 0
store/main/templates/main/services.html

@@ -4,5 +4,15 @@
 
 {% block content %}
     <h1>Все товары</h1>
+    {% if user.is_staff %}
     <a href="{% url 'add_item' %}">Добавить товар</a>
+    {% endif %}
+    {% for item in items%}
+        <div class="requests">
+            <h5 class="index-title">{{item.title}}</h5>
+            <p>{{item.full_desc}}</p>
+            <img src="{{item.image.url}}" width="350px" height="250px">
+            <a href="" class="btn btn-warning">Подробнее</a>
+        </div>
+    {% endfor %}
 {% endblock %}

+ 4 - 3
store/main/urls.py

@@ -1,14 +1,15 @@
 from django.urls import path
-from .views import index, login_view, services, search, profile, logout_view, register, add_item
+from .views import index, login_view, services, profile, logout_view, register, add_item, DetailRequest
 
 urlpatterns = [
     path('', index.as_view(), name = 'index'),
     path('login/', login_view, name = 'login'),
-    path('services/', services, name = 'services'),
-    path('search/', search, name = 'search'),
+    path('services/', services.as_view(), name = 'services'),
     path('profile/', profile, name = 'profile'),
     path('register/', register, name = 'register'),
     path('logout/', logout_view, name = 'logout'),
     path('add/', add_item, name = 'add_item'),
+    path('detail/<int:pk>', DetailRequest.as_view(), name = 'detail'),
+
 
 ]

+ 12 - 6
store/main/views.py

@@ -4,17 +4,18 @@ from django.views.generic.base import View
 from django.contrib.auth import logout
 from django.contrib.auth.views import LoginView
 from .forms import RegisterUserForm, ItemForm
+from django.views.generic import DetailView
+
 class index(View):
     def get(self, request):
-        items = Item.objects.all()[:5]
+        items = Item.objects.all()
         return render(request, 'index.html', {'items': items})
 
 
-def search(request):
-    return render(request, 'main/search.html')
-
-def services(request):
-    return render(request, 'main/services.html')
+class services(View):
+    def get(self, request):
+        items = Item.objects.all()
+        return render(request, 'main/services.html', {'items': items})
 
 def profile(request):
     return render(request, 'main/profile.html')
@@ -49,3 +50,8 @@ def add_item(request):
         form = ItemForm()
     return render(request, 'main/add_item.html', {'form': form})
 
+class DetailRequest(DetailView):
+    model = Item
+    template_name = 'main/detail.html'
+    context_object_name = 'item'
+

BIN
store/media/image/dq7558-001-000.jpg