From 53f680fa2a5120b17eaccc9929cdf952ebe2483c Mon Sep 17 00:00:00 2001 From: "Denis V. Dedkov" Date: Wed, 10 Jun 2015 17:52:39 +0500 Subject: [PATCH] =?UTF-8?q?=D0=AD=D1=81=D0=BA=D0=B8=D0=B7=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлен предпросмотр эскизов Для корректной работы необходимо установить пакет sorl-thumbnail: sudo pip install sorl-thumbnail --- asuzr/models.py | 2 +- asuzr/tables.py | 9 ++++++++- record/settings.py | 1 + record/urls.py | 12 +++++++++--- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/asuzr/models.py b/asuzr/models.py index 3648e00..c0a4d26 100644 --- a/asuzr/models.py +++ b/asuzr/models.py @@ -105,7 +105,7 @@ class Order(models.Model): #Эскизы class Sketch(models.Model): - sketch_file = models.FileField(upload_to = 'sketches') #путь к файу + sketch_file = models.FileField(upload_to = 'sketches/') #путь к файу order = models.ForeignKey(Order) #id заказа def __unicode__(self): diff --git a/asuzr/tables.py b/asuzr/tables.py index c870ebd..7a144bd 100644 --- a/asuzr/tables.py +++ b/asuzr/tables.py @@ -11,9 +11,16 @@ def editable(field_name): class EditableColumn(tables.TemplateColumn): def __init__(self, field_name, *args, **kwargs): super(tables.TemplateColumn, self).__init__(*args, **kwargs) + print kwargs template = '{{% load inplace_edit %}}\n\n{{% inplace_edit "record.{field}" auto_height = 1 %}}'.format(field = field_name) self.template_code = template +class ThumbnailColumn(tables.TemplateColumn): + def __init__(self, field_name, *args, **kwargs): + super(tables.TemplateColumn, self).__init__(*args, **kwargs) + template = '{{% load thumbnail %}}\n\n{{% thumbnail record.{field} "100x100" as im %}}{{% endthumbnail %}}'.format(field = field_name) + self.template_code = template + class TestTable(tables.Table): name = EditableColumn('name', "Наименование") prod_period = EditableColumn('prod_period', "Время производства") @@ -74,7 +81,7 @@ class ArchiveOrdersTable(OrdersTable): class SketchesTable(tables.Table): sketch_file = tables.FileColumn(verbose_name = 'Имя файла') - sketch_image = tables.Column(verbose_name = 'Эскиз') + sketch_image = ThumbnailColumn('sketch_file', verbose_name = 'Эскиз') class Meta: attrs = {'class': 'paleblue'} diff --git a/record/settings.py b/record/settings.py index 1f74a34..dacb4ba 100644 --- a/record/settings.py +++ b/record/settings.py @@ -39,6 +39,7 @@ INSTALLED_APPS = ( 'django.contrib.staticfiles', 'inplaceeditform', 'django_tables2', + 'sorl.thumbnail', 'asuzr', ) diff --git a/record/urls.py b/record/urls.py index 76af414..fabedd0 100644 --- a/record/urls.py +++ b/record/urls.py @@ -1,5 +1,8 @@ from django.conf.urls import patterns, include, url from django.contrib.auth.views import login, logout +from django.conf.urls.static import static +from django.contrib.staticfiles.urls import staticfiles_urlpatterns +from django.conf import settings from django.contrib import admin admin.autodiscover() @@ -9,9 +12,6 @@ js_info_dict = { } urlpatterns = patterns('', - # Examples: - # url(r'^$', 'record.views.home', name='home'), - # url(r'^blog/', include('blog.urls')), url(r'^product/$', 'asuzr.views.prod_list'), url(r'^product/(?P\d+)/$', 'asuzr.views.prod_detail'), url(r'^main/(?P\d+)/(?P\d+)/(?P\d+)/$', 'asuzr.views.main', name='asuzr-main'), @@ -25,3 +25,9 @@ urlpatterns = patterns('', url(r'^accounts/logout/$', logout), url(r'^jsi18n$', 'django.views.i18n.javascript_catalog', js_info_dict), ) + +if settings.DEBUG: + # static files (images, css, javascript, etc.) + urlpatterns += patterns('', + (r'^media/(?P.*)$', 'django.views.static.serve', { + 'document_root': settings.MEDIA_ROOT}))