add category

This commit is contained in:
Priyatham-sai-chand 2020-10-18 21:57:28 +05:30
parent bd89ca0eed
commit 192defed3b
41 changed files with 92 additions and 143 deletions

View File

@ -1,4 +1,4 @@
{ {
"python.pythonPath": "C:\\Users\\bncha\\AppData\\Local\\Programs\\Python\\Python38-32\\python.exe", "python.pythonPath": "C:\\ProgramData\\Anaconda3\\python.exe",
"python.dataScience.jupyterServerURI": "local" "python.dataScience.jupyterServerURI": "local"
} }

View File

@ -1,9 +1,8 @@
from django.contrib import admin from django.contrib import admin
from .models import User from .models import User
from .models import AuctionListing from .models import AuctionListing
from .models import Comments
# Register your models here. # Register your models here.
admin.site.register(User) admin.site.register(User)
admin.site.register(AuctionListing) admin.site.register(AuctionListing)
admin.site.register(Comments)

View File

@ -1,4 +1,4 @@
# Generated by Django 3.0.8 on 2020-10-11 16:42 # Generated by Django 3.0.8 on 2020-10-18 16:09
from django.conf import settings from django.conf import settings
import django.contrib.auth.models import django.contrib.auth.models
@ -50,15 +50,14 @@ class Migration(migrations.Migration):
('price', models.DecimalField(decimal_places=2, max_digits=10)), ('price', models.DecimalField(decimal_places=2, max_digits=10)),
('desc', models.CharField(max_length=1000)), ('desc', models.CharField(max_length=1000)),
('picture', models.URLField(null=True)), ('picture', models.URLField(null=True)),
('category', models.CharField(max_length=64)),
('date_added', models.DateTimeField(auto_now_add=True)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
], ],
), ),
migrations.CreateModel( migrations.AddField(
name='Comments', model_name='user',
fields=[ name='watchlist',
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), field=models.ManyToManyField(blank=True, related_name='watchlist', to='auctions.AuctionListing'),
('comment', models.CharField(max_length=1000)),
('title', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='auction_title', to='auctions.AuctionListing')),
],
), ),
] ]

View File

@ -1,20 +0,0 @@
# Generated by Django 3.0.8 on 2020-10-11 17:53
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('auctions', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='auctionlisting',
name='user',
field=models.ForeignKey(default=' ', on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]

View File

@ -0,0 +1,17 @@
# Generated by Django 3.0.8 on 2020-10-18 16:16
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('auctions', '0001_initial'),
]
operations = [
migrations.RemoveField(
model_name='auctionlisting',
name='date_added',
),
]

View File

@ -0,0 +1,20 @@
# Generated by Django 3.0.8 on 2020-10-18 16:18
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('auctions', '0002_remove_auctionlisting_date_added'),
]
operations = [
migrations.AddField(
model_name='auctionlisting',
name='date_added',
field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now),
preserve_default=False,
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.0.8 on 2020-10-11 18:37
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('auctions', '0002_auto_20201011_2323'),
]
operations = [
migrations.AlterField(
model_name='auctionlisting',
name='picture',
field=models.ImageField(null=True, upload_to=''),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.0.8 on 2020-10-13 03:55
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('auctions', '0003_auto_20201012_0007'),
]
operations = [
migrations.AlterField(
model_name='auctionlisting',
name='picture',
field=models.URLField(null=True),
),
]

View File

@ -1,28 +0,0 @@
# Generated by Django 3.0.8 on 2020-10-16 11:00
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('auctions', '0004_auto_20201013_0925'),
]
operations = [
migrations.AddField(
model_name='user',
name='watchlist',
field=models.ManyToManyField(blank=True, related_name='watchlist', to='auctions.AuctionListing'),
),
migrations.CreateModel(
name='bidding',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('bid', models.DecimalField(decimal_places=2, max_digits=10)),
('bidder', models.ForeignKey(default=' ', on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.0.8 on 2020-10-16 16:29
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('auctions', '0005_auto_20201016_1630'),
]
operations = [
migrations.AddField(
model_name='auctionlisting',
name='category',
field=models.CharField(default=' ', max_length=64),
),
]

View File

@ -2,24 +2,20 @@ from django.contrib.auth.models import AbstractUser
from django.db import models from django.db import models
class User(AbstractUser): class User(AbstractUser):
watchlist = models.ManyToManyField('AuctionListing',blank = True,related_name="watchlist") watchlist = models.ManyToManyField('AuctionListing',blank = True,related_name="watchlist")
class AuctionListing(models.Model): class AuctionListing(models.Model):
title = models.CharField(max_length = 64,primary_key = True) title = models.CharField(max_length = 64,primary_key = True)
user = models.ForeignKey(User,on_delete = models.CASCADE,default = " ") user = models.ForeignKey(User,on_delete = models.CASCADE)
price = models.DecimalField(max_digits = 10,decimal_places = 2) price = models.DecimalField(max_digits = 10,decimal_places = 2)
desc = models.CharField(max_length = 1000) desc = models.CharField(max_length = 1000)
picture = models.URLField(null=True) picture = models.URLField(null=True)
category = models.CharField(max_length = 64,default = " ") category = models.CharField(max_length = 64)
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self): def __str__(self):
return f"{self.title}: {self.price},{self.desc},{self.picture}" return f"{self.title}: {self.price},{self.desc},{self.picture},{self.category},{self.date_added}"
class Comments(models.Model):
title = models.ForeignKey(AuctionListing,on_delete = models.CASCADE,related_name="auction_title")
comment = models.CharField(max_length = 1000)
class bidding(models.Model):
bidder = models.ForeignKey(User,on_delete = models.CASCADE,default = " ")
bid = models.DecimalField(max_digits = 10,decimal_places = 2)

View File

@ -12,12 +12,12 @@
<hr> <hr>
<div class="card-body"> <div class="card-body">
<h4>{{ listing.title }}</h4><br> <h4>{{ list.title }}</h4><br>
<p class="card-text" style="font-size: large;"> <p class="card-text" style="font-size: large;">
<b>bid price</b> : ${{listing.price}}<br> <b>bid price</b> : ${{list.price}}<br>
<b>created by</b>: {{listing.user}} <b>created by</b>: {{list.user}}
</p> </p>
<div class = "text-right"> <div class = "text-right">
<input class="form-check-input" type="checkbox" value="" id="watch"> <input class="form-check-input" type="checkbox" value="" id="watch">

View File

@ -20,8 +20,12 @@
<b>created by</b>: {{listing.user}} <b>created by</b>: {{listing.user}}
</p> </p>
<div class = "text-right"> <div class = "text-right">
<input class="form-check-input" type="checkbox" value="" id="watch"> <form action = "{% url 'index' %}" method="POST">
<label class="form-check-label" for="watch">Watch this item</label> {% csrf_token %}
{{ watch_form }}
</form>
</div> </div>

View File

@ -25,7 +25,7 @@
</li> </li>
{% if user.is_authenticated %} {% if user.is_authenticated %}
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{% url 'wishlist' %}">WishList{% block watch %}def{% endblock %}</a> <a class="nav-link" href="{% url 'wishlist' %}">WishList</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{% url 'create' %}">Create Listing</a> <a class="nav-link" href="{% url 'create' %}">Create Listing</a>

View File

@ -1,3 +1,4 @@
{% extends "auctions/layout.html" %} {% extends "auctions/layout.html" %}
{% block body %} {% block body %}

View File

@ -11,5 +11,5 @@ urlpatterns = [
path("create", views.create, name="create"), path("create", views.create, name="create"),
path("categories", views.category, name="categories"), path("categories", views.category, name="categories"),
path("category/<str:cat_name>",views.category,name="indiv_categories"), path("category/<str:cat_name>",views.category,name="indiv_categories"),
path("listing/<str:title>",views.listing,name="listing") path("listing/<str:title>",views.listing,name="listing")
] ]

View File

@ -3,28 +3,43 @@ from django.db import IntegrityError
from django.http import HttpResponse, HttpResponseRedirect from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render from django.shortcuts import render
from django.urls import reverse from django.urls import reverse
from django.core.files import File from django import forms
from django.core.files.temp import NamedTemporaryFile from .models import User,AuctionListing
from django.core.files.base import ContentFile
import requests
from .models import User,AuctionListing,Comments
categories = ['Fashion','Electronics','Home','Sports','Toys','Automobile','Books','Video Games', 'Other'] categories = ['Fashion','Electronics','Home','Sports','Toys','Automobile','Books','Video Games', 'Other']
class Watch_Form(forms.Form):
watch_this = forms.BooleanField(required=False)
class Bid_Form(forms.Form):
bid = 0.0
def __init__(self,bid_value):
self.bid = bid_value
bid_value = forms.DecimalField(decimal_places=2,min_value= bid + 1)
def index(request): def index(request):
listings = AuctionListing.objects.all() listings = AuctionListing.objects.all()
watch_form = Watch_Form(request.POST)
if watch_form.is_valid():
print("asdf")
watch = watch_form.cleaned_data["watch_this"]
print(watch)
return render(request, "auctions/index.html",{ return render(request, "auctions/index.html",{
"Listings":listings "Listings":listings,
"watch_form": Watch_Form()
}) })
def listing(request,title): def listing(request,title):
""" """
docstring docstring
""" """
listing = AuctionListing.objects.get(pk = title) listings = AuctionListing.objects.get(pk = title)
return render(request,"auctions/listing.html",{ return render(request,"auctions/listing.html",{
"Listing": listing "Listing": listings
}) })
def category(request,cat_name = None): def category(request,cat_name = None):
""" """
@ -33,11 +48,12 @@ def category(request,cat_name = None):
if( cat_name != None): if( cat_name != None):
if cat_name.capitalize() in categories: if cat_name.capitalize() in categories:
listings = AuctionListing.objects.get(category=cat_name.capitalize()) listings = AuctionListing.objects.filter(category=cat_name.capitalize())
print(listings) print(listings)
return render(request, "auctions/category.html",{ return render(request, "auctions/category.html",{
"listings":listings "listings":listings,
"cat_name": cat_name
}) })
@ -109,7 +125,6 @@ def create(request):
obj.save() obj.save()
return render(request,"auctions/index.html") return render(request,"auctions/index.html")
else: else:
categories = ['Fashion','Electronics','Home','Sports','Toys','Automobile','Books','Video Games', 'Other']
return render(request,"auctions/create_listing.html",{ return render(request,"auctions/create_listing.html",{
"categories":categories "categories":categories
}) })

Binary file not shown.