1cutcut1

Untitled

May 8th, 2025
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.48 KB | None | 0 0
  1. py .\manage.py startapp Mall
  2. py .\manage.py makemigrations
  3. py .\manage.py migrate
  4. py .\manage.py createsuperuser
  5. py .\manage.py runserver
  6.  
  7. за слики
  8. pip install Pillow
  9. 1)model.py
  10.  
  11. from django.db import models
  12. from django.contrib.auth.models import User
  13.  
  14. class Proizvoditel(models.Model):
  15. ime = models.CharField(max_length=100)
  16. lokacija = models.CharField(max_length=100)
  17. user = models.ForeignKey(User, on_delete=models.CASCADE)
  18. godina = models.IntegerField()
  19. broj_vraboteni = models.IntegerField()
  20.  
  21. def __str__(self):
  22. return self.ime
  23.  
  24. class Car(models.Model):
  25. TIP = [
  26. ("sedan", "Sedan"),
  27. ("SUV", "SUV"),
  28. ("hatchback", "Hatchback"),
  29. ("coupe", "Coupe")
  30. ]
  31.  
  32. proizvoditel = models.ForeignKey(Proizvoditel, on_delete=models.CASCADE)
  33. cena = models.IntegerField()
  34. broj_shasija = models.CharField(max_length=50, unique=True)
  35. model_na_avtomobil = models.CharField(max_length=100)
  36. boja = models.CharField(max_length=100)
  37. godina_proizvodstvo = models.IntegerField()
  38. kilometrazha = models.FloatField()
  39. tip = models.CharField(max_length=10, choices=TIP)
  40. photo = models.ImageField(upload_to="cars/", null=True, blank=True)
  41.  
  42. def __str__(self):
  43. return f"{self.model_na_avtomobil} - {self.proizvoditel.ime}"
  44.  
  45.  
  46.  
  47. ----------------------------------------------------
  48. 2)admin.py
  49.  
  50. from django.contrib import admin
  51.  
  52. from CarApp.models import Car, Proizvoditel
  53.  
  54.  
  55. # Register your models here.
  56.  
  57. class CarAdmin(admin.ModelAdmin):
  58. list_display = ('model_na_avtomobil', 'boja', 'tip')
  59. admin.site.register(Car, CarAdmin)
  60.  
  61. class ProizvoditelAdmin(admin.ModelAdmin):
  62. def save_model(self, request, obj, form, change):
  63. obj.user = request.user
  64. super().save_model(request, obj, form, change)
  65. admin.site.register(Proizvoditel, ProizvoditelAdmin)
  66.  
  67.  
  68. ----------------------------------------------------
  69. 3)urls.py
  70.  
  71. from django.urls import path
  72. from django.contrib import admin
  73. from CarApp import views as CarViews
  74. urlpatterns = [
  75. path('admin/', admin.site.urls),
  76. path('index/', CarViews.index, name='index'),
  77. path('product/<int:kola_id>/', CarViews.details, name='details')
  78.  
  79. ]
  80.  
  81. ----------------------------------------------------
  82. 4)views.py
  83.  
  84. from django.shortcuts import render
  85.  
  86. # Create your views here.
  87. from .models import *
  88.  
  89. def index(request):
  90. koli=Car.objects.all()
  91. context = {'koli':koli}
  92. return render(request, 'index.html', context)
  93.  
  94. def details(request, kola_id):
  95. kola = Car.objects.filter(id=kola_id).first()
  96. context = {'kola': kola}
  97. return render(request, 'details.html', context)
  98.  
  99. ----------------------------------------------------
  100. 5)settings.py
  101.  
  102. import os
  103. INSTALLED_APPS = [
  104. 'django.contrib.admin',
  105. 'django.contrib.auth',
  106. 'django.contrib.contenttypes',
  107. 'django.contrib.sessions',
  108. 'django.contrib.messages',
  109. 'django.contrib.staticfiles',
  110. 'CarApp'
  111. ]
  112. # tuka
  113. MEDIA_ROOT=os.path.join(BASE_DIR, "media/")
  114. MEDIA_URL='/media/'
  115. ----------------------------------------------------
  116.  
  117. 6)template.py
  118. index.html
  119.  
  120. {% load static %}
  121. <!DOCTYPE html>
  122. <html lang="en">
  123. <head>
  124. <meta charset="UTF-8">
  125. <title>CarApp</title>
  126. <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
  127. </head>
  128. <body>
  129.  
  130. <!-- Navbar -->
  131. <nav class="navbar navbar-expand-lg navbar-light bg-info">
  132. <div class="container-fluid">
  133. <a class="navbar-brand fw-bold " style="margin-left: 300px" href="/index">Lab4 DNICK</a>
  134. <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
  135. aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
  136. <span class="navbar-toggler-icon"></span>
  137. </button>
  138. <div class="collapse navbar-collapse justify-content-end" id="navbarNav">
  139. <ul class="navbar-nav">
  140. <li class="nav-item">
  141. <a class="nav-link fw-semibold" style="margin-right: 300px" href="#">Home</a>
  142. </li>
  143. </ul>
  144. </div>
  145. </div>
  146. </nav>
  147.  
  148. <!-- Main content -->
  149. <div class="container mt-5">
  150. <h2 class="text-center mb-4">All Cars</h2>
  151.  
  152. <div class="row row-cols-1 row-cols-md-2 row-cols-lg-4 g-4">
  153. {% for kola in koli %}
  154. <div class="col">
  155. <div class="card h-100 shadow-sm">
  156. <img src="{{ kola.photo.url }}" class="card-img-top" style="height: 180px; object-fit: cover;" alt="Car Image">
  157. <div class="card-body">
  158. <h5 class="card-title">{{ kola.model_na_avtomobil }}</h5>
  159. <p class="card-text mb-1">{{ kola.proizvoditel.ime }}</p>
  160. <p class="card-text mb-1">{{ kola.kilometrazha }} km</p>
  161. <p class="card-text mb-1">{{ kola.cena }} $</p>
  162. </div>
  163. <div class="card-footer text-center">
  164. <a href="{% url 'details' kola.id %}" class="btn btn-outline-primary">Details</a>
  165. </div>
  166. </div>
  167. </div>
  168. {% endfor %}
  169. </div>
  170. </div>
  171.  
  172. <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
  173. </body>
  174. </html>
  175.  
  176.  
  177. ----------------------------------------------------
  178. 7)detail.html
  179.  
  180. {% load static %}
  181. <!DOCTYPE html>
  182. <html lang="en">
  183. <head>
  184. <meta charset="UTF-8">
  185. <title>CarApp</title>
  186. <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
  187. </head>
  188. <body>
  189.  
  190. <!-- Navbar -->
  191. <nav class="navbar navbar-expand-lg navbar-light bg-info">
  192. <div class="container-fluid">
  193. <a class="navbar-brand fw-bold " style="margin-left: 300px" href="/index">Lab4 DNICK</a>
  194. <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
  195. aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
  196. <span class="navbar-toggler-icon"></span>
  197. </button>
  198. <div class="collapse navbar-collapse justify-content-end" id="navbarNav">
  199. <ul class="navbar-nav">
  200. <li class="nav-item">
  201. <a class="nav-link fw-semibold" style="margin-right: 300px" href="#">Home</a>
  202. </li>
  203. </ul>
  204. </div>
  205. </div>
  206. </nav>
  207. <h2>{{ kola.tip }}</h2>
  208. <h3>{{ kola.model_na_avtomobil }}</h3>
  209. <h3>{{ kola.boja }}</h3>
  210. <a href="{% url 'index' %}" class="btn btn-primary">Back</a>
  211. </body>
  212. </html>
Advertisement
Add Comment
Please, Sign In to add comment