dodawanie ogloszen backend

This commit is contained in:
Jędrzej Klepacki 2020-12-10 20:45:01 +01:00
parent 875ace9eaf
commit 8444d95979
18 changed files with 144 additions and 59 deletions

View File

@ -84,8 +84,6 @@ DATABASES = {
} }
} }
# Password validation # Password validation
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators # https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
@ -122,12 +120,11 @@ USE_TZ = True
# Static files (CSS, JavaScript, Images) # Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/ # https://docs.djangoproject.com/en/2.1/howto/static-files/
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
STATIC_ROOT = os.path.join(BASE_DIR,'static') STATIC_ROOT = os.path.join(BASE_DIR,'static')
STATIC_URL = '/static/' STATIC_URL = '/static/'
STATICFILES_DIRS = [ STATICFILES_DIRS = [
os.path.join(BASE_DIR,'SocialHelper/static') os.path.join(BASE_DIR,'SocialHelper/static')
] ]
# Media Folder Settings
MEDIA_ROOT = os.path.join(BASE_DIR, 'media' )
MEDIA_URL = '/media/'

View File

@ -1,22 +1,10 @@
"""SocialHelper URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin from django.contrib import admin
from django.urls import include, path from django.urls import include, path
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [ urlpatterns = [
path('homepage/', include('homepage.urls')), path('homepage/', include('homepage.urls')),
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
] ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Binary file not shown.

View File

@ -0,0 +1,7 @@
from django import forms
class DocumentForm(forms.Form):
docfile = forms.FileField(
label='Select a file',
help_text='max. 42 megabytes'
)

View File

@ -0,0 +1,18 @@
# Generated by Django 2.1.5 on 2020-12-10 18:55
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('homepage', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='product',
name='picture',
field=models.FileField(blank=True, null=True, upload_to='documents/%Y/%m/%d'),
),
]

View File

@ -0,0 +1,18 @@
# Generated by Django 2.1.5 on 2020-12-10 19:08
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('homepage', '0002_product_picture'),
]
operations = [
migrations.AlterField(
model_name='product',
name='picture',
field=models.ImageField(blank=True, null=True, upload_to='images/'),
),
]

View File

@ -7,6 +7,7 @@ TYPE_T = (
) )
class Product(models.Model): class Product(models.Model):
picture = models.ImageField(null=True, blank=True, upload_to="images/")
create_date = models.DateField(("Date"), default=datetime.date.today) create_date = models.DateField(("Date"), default=datetime.date.today)
user_owner = models.TextField(max_length=40, blank=False, default="") user_owner = models.TextField(max_length=40, blank=False, default="")
type = models.IntegerField(choices = TYPE_T, blank=False, default="") type = models.IntegerField(choices = TYPE_T, blank=False, default="")

View File

@ -16,38 +16,51 @@
<!--================End Categories Banner Area =================--> <!--================End Categories Banner Area =================-->
<!--================Register Area =================--> <!--================Register Area =================-->
<section class="track_area p_100"> <form action="{% url 'Dodawanie' %}" method="POST" enctype="multipart/form-data">
<div class="container"> {% csrf_token %}
<div class="track_inner"> {{ form.media }}
<form class="track_form row"> {{ form.as_p }}
<div class="col-lg-12 form-group"> <section class="track_area p_100">
<label for="cun">Typ ogłoszenia <span>*</span></label> <div class="container">
<select id="cun"> <div class="track_inner">
<option>Oddam</option> <form class="track_form row">
<option>Potrzebuję</option> <div class="col-lg-12 form-group">
</select> <label for="cun">Typ ogłoszenia <span>*</span></label>
</div> <select id="cun" name="type">
<div class="col-lg-12 form-group"> <option value="2">Oddam</option>
<label for="name">Miejscowość <span>*</span></label> <option value="1">Potrzebuję</option>
<input type="text" class="form-control" id="name" aria-describedby="name" placeholder=""> </select>
</div> </div>
<div class="col-lg-12 form-group">
<label for="order">Opis <span>*</span></label> <div class="col-lg-12 form-group">
<textarea class="form-control" id="order" rows="3"></textarea> <label for="name">Tytył <span>*</span></label>
</div> <input type="text" class="form-control" id="name" aria-describedby="name" placeholder="" name="title">
<div class="col-lg-12 form-group"> </div>
<div class="file-field">
<span>Wybierz zdjęcie</span> <div class="col-lg-12 form-group">
<input type="file"> <label for="name">Miejscowość <span>*</span></label>
</div> <input type="text" class="form-control" id="name" aria-describedby="name" placeholder="" name="place">
</div> </div>
<div class="col-lg-12 form-group">
<button type="submit" value="submit" class="btn subs_btn form-control">Dodaj</button> <div class="col-lg-12 form-group">
</div> <label for="order">Opis <span>*</span></label>
</form> <textarea class="form-control" id="order" rows="3" name="script"></textarea>
</div> </div>
</div>
</section> <div class="col-lg-12 form-group">
<div class="file-field">
<span>Wybierz zdjęcie</span>
<input name="file" type="file" accept="image/*">
</div>
</div>
<div class="col-lg-12 form-group">
<input type="submit" class="btn btn-primary update_btn" value="Dodaj">
</div>
</form>
</div>
</div>
</section>
</form>
<!--================End Track Area =================--> <!--================End Track Area =================-->
<!--================End Register Area =================--> <!--================End Register Area =================-->

View File

@ -30,7 +30,7 @@
<div class="row"> <div class="row">
<div class="col-lg-4 col-md-6"> <div class="col-lg-4 col-md-6">
<div class="c_product_img"> <div class="c_product_img">
<img class="img-fluid" src="{% static "img/product/l-product-2.jpg" %}"> <img class="img-fluid" src="{{ product.picture.url }}">
</div> </div>
</div> </div>
<div class="col-lg-8 col-md-6"> <div class="col-lg-8 col-md-6">

View File

@ -1,9 +1,13 @@
from django.urls import path from django.urls import path, include
from . import views from . import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [ urlpatterns = [
path('', views.index, name='index'), path('', views.index, name='index'),
path('filter', views.filter, name='filter'), path('filter', views.filter, name='filter'),
path('Dodawanie', views.Dodawanie, name='Dodawanie'), path('Dodawanie', views.Dodawanie, name='Dodawanie'),
path('Mojeogloszenia', views.Mojeogloszenia, name='Mojeogloszenia'), path('Mojeogloszenia', views.Mojeogloszenia, name='Mojeogloszenia'),
]
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

View File

@ -2,8 +2,14 @@ from django.shortcuts import get_object_or_404, render
from django.http import HttpResponse, HttpResponseRedirect from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse from django.urls import reverse
from django.template import loader from django.template import loader
from .models import Product, TYPE_T from .models import Product, TYPE_T
from django.utils import timezone
from datetime import timedelta
import datetime
def index(request): def index(request):
all_product = Product.objects.all all_product = Product.objects.all
template = loader.get_template('homepage/index.html') template = loader.get_template('homepage/index.html')
@ -53,10 +59,43 @@ def filter(request):
return HttpResponse(template.render(context, request)) return HttpResponse(template.render(context, request))
def Dodawanie(request): def Dodawanie(request):
if request.method == 'POST':
place_local = request.POST['place']
type_local = request.POST['type']
script_local = request.POST['script']
title_local = request.POST['title']
data_local = timezone.now()
pic_local = request.FILES['file']
product = Product(
picture = pic_local,
create_date = data_local,
user_owner = "jedrzejklepacki@wp.pl",
type = int(type_local),
title = title_local,
description = script_local,
place = place_local,
keywords = "",
)
product.save()
all_product = Product.objects.filter(user_owner = "jedrzejklepacki@wp.pl")
template = loader.get_template('homepage/Mojeogloszenia.html')
types = TYPE_T
place_local = ""
oddam_local = ""
potrzebuje_local = ""
context = {
'all_product': all_product,
'types': types,
'place_local': place_local,
'oddam_local': oddam_local,
'potrzebuje_local': potrzebuje_local,
}
return HttpResponse(template.render(context, request))
return render(request , 'homepage/Dodawanie.html') return render(request , 'homepage/Dodawanie.html')
def Mojeogloszenia(request): def Mojeogloszenia(request):
all_product = Product.objects.all all_product = Product.objects.filter(user_owner = "jedrzejklepacki@wp.pl")
template = loader.get_template('homepage/Mojeogloszenia.html') template = loader.get_template('homepage/Mojeogloszenia.html')
types = TYPE_T types = TYPE_T
place_local = "" place_local = ""