Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » sync db // Error: No module named items // книга Джеффа Форсье // Галерея [RSS Feed]

#1 Ноя. 23, 2012 20:05:50

[NK]_Jezz
От:
Зарегистрирован: 2012-03-05
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

sync db // Error: No module named items // книга Джеффа Форсье // Галерея

Поискав по форуму наткнулся лишь на тему http://python.su/forum/topic/14815/ в которой описывается подобная тема, но не раскрывается нормально решение проблемы.
models.py

from django.db import models
from django.db.models import permalink
from django.contrib import admin
from fields import ThumbnailImageField

class Item(models.Model):
name = models.CharField(max_length=250)
description = models.TextField()

class Meta:
ordering = ['name']

def __unicode__(self):
return self.name

@permalink
def get_absolute_url(self):
return ('item_detail', None, {'object_id': self.id})

class Photo(models.Model):
item = models.ForeignKey(Item)
title = models.CharField(max_length=100)
image = ThumbnailImageField(upload_to='photos')
caption = models.CharField(max_length=250, blank=True)

class Meta:
ordering = ['title']

def __unicode__(self):
return self.title

@permalink
def get_absolute_url(self):
return ('photo_detail', None, {'object_id': self.id})

class PhotoInline(admin.StackedInline):
model = Photo

class ItemAdmin(admin.ModelAdmin):
inlines = [PhotoInline]

admin.site.register(Photo)
admin.site.register(Item, ItemAdmin)

в дополнение файл fields.py из которого мы импортируем наше функционально измененное поле картинки:

from django.db.models.fields.files import ImageField, ImageFieldFile
import Image
import os

def _add_thumb(s):
"""
Modifies a string (filename, URL) containing an image filename, to insert
'.thumb'
"""
parts = s.split(".")
parts.insert(-1, "thumb")
if parts[-1].lower() not in ['jpeg', 'jpg']:
parts[-1] = 'jpg'
return ".".join(parts)

class ThumbnailImageFieldFile(ImageFieldFile):
def _get_thumb_path(self):
return _add_thumb(self.path)
thumb_path = property(_get_thumb_path)

def _get_thumb_url(self):
return _add_thumb(self.url)
thumb_url = property(_get_thumb_url)

def save(self, name, content, save=True):
super(ThumbnailImageFieldFile, self).save(name, content, save)
img = Image.open(self.path)
img.thumbnail(
(self.field.thumb_width, self.field.thumb_height),
Image.ANTIALIAS
)
img.save(self.thumb_path, 'JPEG')

def delete(self, save=True):
if os.path.exists(self.thumb_path):
os.remove(self.thumb_path)
super(ThumbnailImageFieldFile, self).delete(save)


class ThumbnailImageField(ImageField):
"""
Behaves like a regular ImageField, but stores an extra (JPEG) thumbnail
image, providing FIELD.thumb_url and FIELD.thumb_path.

Accepts two additional, optional arguments: thumb_width and thumb_height,
both defaulting to 128 (pixels). Resizing will preserve aspect ratio while
staying inside the requested dimensions; see PIL's Image.thumbnail()
method documentation for details.
"""
attr_class = ThumbnailImageFieldFile

def __init__(self, thumb_width=128, thumb_height=128, *args, **kwargs):
self.thumb_width = thumb_width
self.thumb_height = thumb_height
super(ThumbnailImageField, self).__init__(*args, **kwargs)



результатом manage.py syncdb является:

Error: No module named items



Отредактировано [NK]_Jezz (Ноя. 23, 2012 20:06:44)

Офлайн

#2 Ноя. 26, 2012 05:54:08

Antonio051
От:
Зарегистрирован: 2011-01-06
Сообщения: 31
Репутация: +  1  -
Профиль   Отправить e-mail  

sync db // Error: No module named items // книга Джеффа Форсье // Галерея

структура проекта какая?
в INSTALLED_APPS что?



Офлайн

#3 Ноя. 26, 2012 12:02:30

[NK]_Jezz
От:
Зарегистрирован: 2012-03-05
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

sync db // Error: No module named items // книга Джеффа Форсье // Галерея

gallary/
/gallary/
/__init__.py
/context_processors.py
/real_urls.py
/setting.py
/urls.py
/wsgi.py
/item
/templates/
/media/
/__init__.py
/fields.py
/models.py
/test.py
/urls.py
/views.py
/manage.py

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'gallery.items',
)



Офлайн

#4 Ноя. 27, 2012 07:55:41

vvpoloskin
От:
Зарегистрирован: 2011-09-02
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

sync db // Error: No module named items // книга Джеффа Форсье // Галерея

Супер! Есть приложение item, а в settings.py указано items



Офлайн

#5 Ноя. 27, 2012 16:30:41

[NK]_Jezz
От:
Зарегистрирован: 2012-03-05
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

sync db // Error: No module named items // книга Джеффа Форсье // Галерея

vvpoloskin
Супер!
Понимаю банальные глупые вопросы, но по скайпу или в реале, их некому задать.
Да и отлавливать ошибки тоже потихоньку учусь, это для спеца это всё банальщина!

Ещё раз огромное спасибо!



Офлайн

  • Начало
  • » Django
  • » sync db // Error: No module named items // книга Джеффа Форсье // Галерея[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version