This commit is contained in:
Anna Sudnitsina 2017-10-10 18:45:56 +03:00
commit 1af80897ac
7 changed files with 46 additions and 30 deletions

10
docker/Dockerfile Normal file
View File

@ -0,0 +1,10 @@
FROM alpine
RUN apk update && apk add python py2-pip py-gunicorn py-pillow py2-futures
RUN pip install django==1.11.6
COPY . /app
RUN cd /app && python manage.py migrate
ENTRYPOINT cd /app && gunicorn --threads 2 imagehost.wsgi:application --bind 0.0.0.0:8080 -t 60 --max-requests 1000

View File

@ -4,7 +4,7 @@ def resize_image(fh, img_prop):
im = Image.open(fh) im = Image.open(fh)
# size = 100, 100 # size = 100, 100
im.thumbnail(img_prop['size']) im.thumbnail(img_prop['size'])
print img_prop['size'] print(img_prop['size'])
# im.thumbnail(size) # im.thumbnail(size)
thumb_name = img_prop['dest'] + '/thumb_' + img_prop['name'] thumb_name = img_prop['dest'] + '/thumb_' + img_prop['name']
im.save(thumb_name) im.save(thumb_name)

View File

@ -12,6 +12,6 @@ import os
from django.core.wsgi import get_wsgi_application from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "imagehost.settings")
application = get_wsgi_application() application = get_wsgi_application()

View File

@ -2,6 +2,6 @@ from django.contrib import admin
from .models import Post from .models import Post
admin.site.register(Post admin.site.register(Post)
)
# Register your models here. # Register your models here.

View File

@ -3,11 +3,14 @@
from django import forms from django import forms
from .models import Post from .models import Post
class PostForm(forms.ModelForm): class PostForm(forms.ModelForm):
class Meta: class Meta:
model = Post model = Post
fields = ('name', 'file') fields = ('name', 'file')
class DeleteForm(forms.ModelForm): class DeleteForm(forms.ModelForm):
class Meta: class Meta:

View File

@ -5,6 +5,7 @@ from django.utils import timezone
# from ih import images # from ih import images
import os import os
class Post(models.Model): class Post(models.Model):
name = models.CharField(max_length=30, blank=True) name = models.CharField(max_length=30, blank=True)
file = models.FileField(upload_to='images') file = models.FileField(upload_to='images')
@ -19,7 +20,6 @@ class Post(models.Model):
return self.name return self.name
def thumb_name(self): def thumb_name(self):
x = os.path.split(self.file.name)[-1] x = os.path.split(self.file.name)[-1]
return '/thumb_' + x return '/thumb_' + x

View File

@ -7,6 +7,8 @@ from django.shortcuts import redirect
from ih import files, images from ih import files, images
#from django.views.decorators.csrf import requires_csrf_token #from django.views.decorators.csrf import requires_csrf_token
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from ih import images
from django.views.decorators.csrf import requires_csrf_token
'''def create_thumbnail(request): '''def create_thumbnail(request):
# Get file from <InMemoryUploadedFile> # Get file from <InMemoryUploadedFile>
@ -48,7 +50,6 @@ def create_thumb_from_file(filename):
return thumb_name return thumb_name
@login_required(login_url="/login") @login_required(login_url="/login")
def image_new(request): def image_new(request):
if request.method == "POST": if request.method == "POST":
@ -58,7 +59,7 @@ def image_new(request):
post = form.save(commit=False) post = form.save(commit=False)
post.save() post.save()
# print("FILE: ", post.file) # print("FILE: ", post.file)
print post.orig_name print(post.orig_name)
create_thumb_from_file(post.orig_name) create_thumb_from_file(post.orig_name)
return redirect('imagehosting.views.image_detail', pk=post.id) return redirect('imagehosting.views.image_detail', pk=post.id)
else: else:
@ -74,9 +75,10 @@ def image_detail(request, pk):
def all_posts(request): def all_posts(request):
all = Post.objects.order_by('-pk') all = Post.objects.order_by('-pk')
page = request.POST.get("page") # page = request.POST.get("page")
return render(request, 'imagehosting/all.html', {'all': all}) return render(request, 'imagehosting/all.html', {'all': all})
def carousel(request): def carousel(request):
return render(request, 'imagehosting/carousel.html', {'all': Post.objects.all()}) return render(request, 'imagehosting/carousel.html', {'all': Post.objects.all()})
@ -93,3 +95,4 @@ def delete_post(request, pk):
return redirect('imagehosting.views.all_posts') return redirect('imagehosting.views.all_posts')
#return render(request, 'imagehosting/delete.html', {'form': form}) #return render(request, 'imagehosting/delete.html', {'form': form})
return render(request, 'imagehosting/delete.html', {'form': form})