model koszyk created but it doesnt add events to database

This commit is contained in:
Mikhail Ronchyk 2022-01-13 23:26:36 +03:00
parent b2bf4bffc4
commit adfd69022c
12 changed files with 71 additions and 12 deletions

View File

@ -0,0 +1,25 @@
# Generated by Django 3.1.7 on 2022-01-13 20:06
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('events', '0012_auto_20211221_1927'),
]
operations = [
migrations.CreateModel(
name='Koszyk',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('quantity', models.PositiveIntegerField(default=0, verbose_name='quantity')),
('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='events.event')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='koszyk', to=settings.AUTH_USER_MODEL)),
],
),
]

View File

@ -1,7 +1,10 @@
from django.db import models
from highneed import settings
import datetime
from django.utils import timezone
# Create your models here.
from django.contrib.auth import get_user_model
class Category(models.Model):
name = models.CharField(max_length=255)
@ -19,4 +22,15 @@ class Event(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE)
def __str__(self):
return self.title + ' | ' + str(self.data) + ' | ' + self.place
return self.title + ' | ' + str(self.data) + ' | ' + self.place
class Koszyk(models.Model):
user = models.ForeignKey(
get_user_model(),
on_delete=models.CASCADE,
related_name='koszyk')
event = models.ForeignKey(
Event, on_delete=models.CASCADE)
quantity = models.PositiveIntegerField(
verbose_name='quantity', default=0)

View File

@ -57,17 +57,21 @@
<div class="col2">
<h1 style="color: var(--background-dark-green);">Wszystkie wydarzenia:</h1>
{% for user in users %}
{% for i in users %}
<div class="grid article3">
<div class="showcase-text">
<h1>{{ user.title }}</h1>
<h2>Data i godzina: {{user.data}}</h2>
<p>Miejsce: {{ user.place }}</p>
<p>Kategoria: {{ user.category }}</p>
<p>{{ user.likes }} polubień </p>
<h1>{{ i.title }}</h1>
<h2>Data i godzina: {{i.data}}</h2>
<p>Miejsce: {{ i.place }}</p>
<p>Kategoria: {{ i.category }}</p>
<p>{{ i.likes }} polubień </p>
<a class="btn btn-list" href="{% url 'events:detail' user.id %}">Szczegóły</a>
<a class="btn btn-list" href="{% url 'events' %}">Dodaj do koszyka</a>
<a class="btn btn-list" href="{% url 'events:detail' i.id %}">Szczegóły</a>
{% if user.is_authenticated %}
<a class="btn btn-list" href="{% url 'koszyk_add' i.id %}">Dodaj do koszyka</a>
{% else %}
<a class="btn btn-list" href="{% url 'account_login' %}">Dodaj do koszyka</a>
{% endif %}
</div>
<img class="art3-img" src="../images/img-article2.jpg" alt="" />
</div>

View File

@ -65,8 +65,10 @@
{% csrf_token %}
<input type='submit' value='Lubię to' class="btn btn-list" /></p>
</form>
<a class="btn btn-list" href="{% url 'koszyk_add' events.id %}">Dodaj do koszyka</a>
{% endif %}
<input type='submit' value='Dodaj do koszyka' class="btn btn-list" />
</div>
</div>
</section>

View File

@ -2,8 +2,9 @@ from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse
from django.utils import timezone
from .models import Event, Category
from .models import Event, Category, Koszyk
from .forms import EventForm, CategoryForm
from django.shortcuts import render, get_object_or_404, redirect
from django.db.models import Q
@ -255,4 +256,14 @@ def koszyk(request):
'categories': categories,
}
return render(request, 'events/koszyk.html', context)
return render(request, 'events/koszyk.html', context)
def koszyk_add(request, pk):
event = get_object_or_404(Event, pk=pk)
koszyk = Koszyk.objects.filter(user=request.user, event=event).first()
if not koszyk:
koszyk = Koszyk(user=request.user, event=event)
koszyk.quantity += 1
koszyk.save()
return HttpResponseRedirect(reverse('koszyk'))

View File

@ -47,6 +47,7 @@ INSTALLED_APPS = [
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
]
SITE_ID = 1
MIDDLEWARE = [
@ -150,6 +151,7 @@ ACCOUNT_LOGOUT_REDIRECT_URL = '../../events'
ACCOUNT_LOGIN_REDIRECT_URL = '../../../../events'
SESSION_COOKIE_SECURE = False
#STATICFILES_DIRS = [
# os.path.join(BASE_DIR, 'events/highneed_react/build/static'),

View File

@ -27,6 +27,7 @@ urlpatterns = [
path('accounts/', include('allauth.urls')),
path('profil/', views.index2, name='profil'),
path('koszyk/', views.koszyk, name='koszyk'),
path('add_koszyk/<int:pk>/', views.koszyk_add, name='koszyk_add'),
path('profil/add_event/', views.create),
path('profil/add_category/', views.createCategory),
path('all_events/category/<int:pk>/', views.listofcategories, name='listofcategories'),