model koszyk created but it doesnt add events to database
This commit is contained in:
parent
b2bf4bffc4
commit
adfd69022c
Binary file not shown.
Binary file not shown.
25
highneed/events/migrations/0013_koszyk.py
Normal file
25
highneed/events/migrations/0013_koszyk.py
Normal 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)),
|
||||
],
|
||||
),
|
||||
]
|
Binary file not shown.
@ -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)
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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'))
|
Binary file not shown.
Binary file not shown.
@ -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'),
|
||||
|
@ -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'),
|
||||
|
Loading…
Reference in New Issue
Block a user