Beispiel #1
0
class ProductSubCategory(models.Model):
    category = models.ForeignKey(ProductCategory,
                                 related_name='category',
                                 on_delete=models.CASCADE)
    name = models.CharField(max_length=150)
    alternative_name = models.CharField(max_length=150)
    descriptions = models.TextField()
    icon = StdImageField(
        upload_to='media/images/category_images/' + str(name) + '/',
        blank=True,
        null=True,
        editable=True,
    )
    image = StdImageField(
        upload_to='media/images/category_images/' + str(name) + '/',
        blank=True,
        null=True,
        editable=True,
    )
    created = models.DateField(auto_now_add=True)
    updated = models.DateField(auto_now=True)
    is_active = models.BooleanField()

    def __str__(self):
        return self.name
Beispiel #2
0
class MultipleFieldsModel(models.Model):
    """creates a thumbnail resized to 100x100 croping if necessary"""
    image1 = StdImageField(upload_to=upload_to,
                           variations={'thumbnail': (100, 100, True)})
    image2 = StdImageField(upload_to=upload_to)
    image3 = StdImageField('Some label', upload_to=upload_to)
    text = models.CharField('Some label', max_length=10)
Beispiel #3
0
class SliderImages(CreationModificationDateMixin):
    slider = models.ForeignKey(Slider, on_delete=models.CASCADE)
    image = StdImageField(upload_to='images/marketing/slider',
                          blank=True,
                          null=True,
                          variations={
                              'slider_size': (520, 460),
                          },
                          delete_orphans=True)
    image_url = models.CharField(max_length=250, null=True, blank=True)
    background_image_url = models.CharField(max_length=250,
                                            null=True,
                                            blank=True)
    link_url = models.CharField(max_length=250, null=True, blank=True)
    background_image = StdImageField(upload_to='images/marketing/banner',
                                     blank=True,
                                     null=True,
                                     variations={
                                         'back_size': (520, 460),
                                     },
                                     delete_orphans=True)

    in_display = models.BooleanField(default=True)

    class Meta:
        ordering = ('-in_display', )

    def __str__(self):
        return str(self.slider)
Beispiel #4
0
class Slider(CreationModificationDateMixin):
    product = models.ForeignKey(Product,
                                on_delete=models.SET_NULL,
                                null=True,
                                blank=True)
    header_text = models.CharField(max_length=120, null=True, blank=True)
    text = models.CharField(max_length=120, null=True, blank=True)

    slider_type = models.CharField(max_length=2,
                                   choices=SLIDER_TYPE,
                                   blank=True,
                                   null=True,
                                   unique=True,
                                   default='La')

    image = StdImageField(upload_to='images/marketing/slider',
                          blank=True,
                          null=True,
                          variations={
                              'slider_size': (520, 460),
                          },
                          delete_orphans=True)
    image_url = models.CharField(max_length=250, null=True, blank=True)
    background_image_url = models.CharField(max_length=250,
                                            null=True,
                                            blank=True)
    link_url = models.CharField(max_length=250, null=True, blank=True)
    active = models.BooleanField(default=True)
    featured = models.BooleanField(default=False)
    start_date = models.DateTimeField(auto_now_add=False,
                                      auto_now=False,
                                      null=True,
                                      blank=True)
    end_date = models.DateTimeField(auto_now_add=False,
                                    auto_now=False,
                                    null=True,
                                    blank=True)

    background_image = StdImageField(upload_to='images/marketing/banner',
                                     blank=True,
                                     null=True,
                                     variations={
                                         'back_size': (520, 460),
                                     },
                                     delete_orphans=True)

    objects = MarketingManager()

    class Meta:
        ordering = ['-end_date']

    def __str__(self):
        return str(self.slider_type)
Beispiel #5
0
class Institution(models.Model):
    InstName = models.CharField(max_length=50, primary_key=True)
    #InstLogo = models.ImageField(upload_to='Institute/Image/')
    InstStartDate = models.DateField(auto_now=False)
    InstLogo = StdImageField(upload_to='Institute/Image/',
                             variations={'large': (500, 150, True)})
    InstDescrip = models.TextField()
    InstOwner = models.ForeignKey(AdminProf)
    InstImages = StdImageField(upload_to='Institute/InstImage/',
                               variations={'large': (700, 300, True)})

    def __str__(self):
        return self.InstName
Beispiel #6
0
class Content(models.Model):
    where = models.CharField(max_length=2000)
    text = models.CharField(max_length=100)
    date1 = models.DateField(default=datetime.now)
    text1 = models.CharField(max_length=100)
    date2 = models.DateField(default=datetime.now)
    photo = StdImageField(variations={'thumbnail': (250, 178)})
    photo1 = StdImageField(variations={'thumbnail': (250, 178)})
    photo2 = StdImageField(variations={'thumbnail': (250, 178)})
    photo3 = StdImageField(variations={'thumbnail': (250, 178)})
    slider = models.ForeignKey(Common,
                               on_delete=models.CASCADE,
                               related_name='common')
Beispiel #7
0
class Book(models.Model):

    book = models.CharField(max_length=100)
    ISBN = models.IntegerField(primary_key=True)
    genre = models.ForeignKey(Genre, default=0, on_delete=models.CASCADE)
    image = StdImageField(upload_to='bookCover/',
                          blank=True,
                          variations={'thumbnail': (600, 800, True)})
    contributor = models.ForeignKey(User, on_delete=models.CASCADE)
    ebook = models.FileField(upload_to='ebooks/',
                             help_text="Upload the ebook if present",
                             blank=True)
    date = models.DateField(auto_now=True, help_text="Date of Publication")
    read = models.ManyToManyField(settings.AUTH_USER_MODEL,
                                  blank=True,
                                  related_name='has_read')
    likes = models.ManyToManyField(settings.AUTH_USER_MODEL,
                                   blank=True,
                                   related_name='books_liked')

    class Meta:

        verbose_name = "Book"
        verbose_name_plural = "Library"

    def __str__(self):
        return str(self.book)
Beispiel #8
0
class User(models.Model):
    user_id = models.AutoField(verbose_name=u'用户', primary_key=True)
    user_nickname = models.CharField(verbose_name=u'昵称', max_length=30, default='none', unique=True)#用户设置
    user_password = models.CharField(verbose_name=u'密码', max_length=18, default='123456')
    user_sex = models.CharField(verbose_name=u'性别', max_length=1, default='男')
    user_tel = models.CharField(verbose_name=u'手机号', max_length=10, default='0')
    user_headImage = StdImageField(max_length=100, upload_to='user/headImage', verbose_name='头像',
                               variations={'thumbnail':{'width':50, 'height':50}}, default='user/headImage/headDefault.jpg')
    user_isAdmin = models.BooleanField(verbose_name=u'用户是否为管理员', default=False)#系统预先内置一些管理员账户,前端提交用户注册表单时此项默认置0.当用户登陆时,检查此项是否为1,为1开启管理员权限.
    user_isBindQQ = models.BooleanField(verbose_name=u'用户是否绑定QQ', default=False)
    user_location = models.CharField(verbose_name=u'位置', max_length=30, default=u'中国')
    user_location_x = models.DecimalField(verbose_name=u'用户经度', max_digits=100, decimal_places=5, default=0)
    user_location_y = models.DecimalField(verbose_name=u'用户纬度', max_digits=100, decimal_places=5, default=0)
    user_coupon = models.ManyToManyField(verbose_name=u'用户持有的优惠券', to='Coupon', null=True, blank=True)
    user_TJUCarat = models.IntegerField(verbose_name=u'洋克拉', default=0)#洋克拉:类似于京豆的一种优惠机制
    user_isVIP = models.BooleanField(verbose_name=u'用户是否为VIP', default=False)
    user_email = models.CharField(verbose_name=u'邮箱', max_length=30, default='none')



    def __str__(self):
        return '%s' % self.user_id

    def isAdmin(self):
        if self.user_isAdmin:
            return '是'
        else:
            return '否'

    def isBindQQ(self):
        if self.user_isBindQQ:
            return '是'
        else:
            return '否'
Beispiel #9
0
class ResizeModel(models.Model):
    """resizes image to maximum size to fit a 640x480 area"""
    image = StdImageField(upload_to=upload_to,
                          variations={
                              'medium': (600, 400),
                              'thumbnail': (100, 75)
                          })
Beispiel #10
0
class LayoutTemplate(models.Model):

    name = models.CharField(_('name'),
                            max_length=200,
                            help_text=_('Enter the name'))
    html = models.TextField(_('HTML'),
                            max_length=50000,
                            help_text=_('Enter the html'))
    tokens = models.CommaSeparatedIntegerField(_('Tokens'), max_length=200)

    image = StdImageField(upload_to='layout/',
                          null=True,
                          blank=True,
                          help_text=_('Image'))

    def thumbnail(self):
        """ Used in list_display """
        try:
            th = DjangoThumbnail(self.image.name, (100, 100))
            return '<img src="%s" />' % th.absolute_url
        except:
            return ''

    thumbnail.short_description = 'Image thumbnail'
    thumbnail.allow_tags = True

    def __unicode__(self):
        return self.name

    def layout_create(self):
        return '<a href="%s/add/"> <img src="/media/img/admin/icon_addlink.gif"/> </a>' % self.pk

    layout_create.allow_tags = True
Beispiel #11
0
class Event(models.Model):
    event_id = models.AutoField(primary_key=True)
    club = models.ForeignKey('Club')
    entry = models.CharField('Entry', max_length=2, choices=ACCESS_CHOICES)
    entry_description = models.CharField(
        "Entry Description",
        help_text="Useful for describing passes or members +.",
        max_length=40,
        null=True,
        blank=True)
    title = models.CharField("Title",
                             help_text="Default is clubname + weekday",
                             max_length=40,
                             null=True,
                             blank=True)
    description = models.TextField("Description", null=True, blank=True)
    poster = StdImageField('Event Poster (optional)',
                           upload_to='pam/images/events_posters/',
                           size=(400, 600),
                           thumbnail_size=(250, 375),
                           blank=True,
                           null=True)
    time_start = models.DateTimeField('Start datetime')
    time_end = models.DateTimeField('End datetime')

    def __unicode__(self):
        if self.title:
            return self.title
        return self.club.name + " " + self.time_start.strftime("%A")
Beispiel #12
0
class ForceMinSizeModel(models.Model):
    """creates a thumbnail resized to maximum size to fit a 100x75 area"""
    image = StdImageField(
        upload_to=UploadTo(name='image', path='img'),
        force_min_size=True,
        variations={'thumbnail': (600, 600)}
    )
Beispiel #13
0
class ProductImage(CreationModificationDateMixin):
    item = models.ForeignKey(Product, on_delete=models.CASCADE)
    image = StdImageField(upload_to='images/products',
                          variations={
                              'thumbnail': (180, 150),
                              'medium': (365, 365),
                              'deals_size': (365, 365, True),
                              'large': (415, 430),
                          },
                          delete_orphans=True)

    in_display = models.BooleanField(default=True)

    objects = ProductManager()
    displayed = DisplayImageManager()

    class Meta:
        ordering = ('-in_display', )

    def __str__(self):
        return str(self.item)

    def natural_key(self):
        return (self.item.slug, )

    def get_absolute_url(self):
        return reverse('me2ushop:product_images',
                       kwargs={'slug': self.item.slug})

    def save(self, *args, **kwargs):
        cache.delete('productimage-%s' % self.pk)

        super().save(*args, **kwargs)
class Usuario(Base):
    nome = models.CharField('nome', max_length=100)
    email = models.EmailField('E-Mail', max_length=100, unique=True)
    nivel = models.ForeignKey('core.Cargo',
                              verbose_name='Cargo',
                              on_delete=models.CASCADE)
    senha = models.CharField(
        'Senha',
        max_length=10,
    )
    token = models.CharField('token', max_length=255, default='', blank=True)
    img = StdImageField('Imagem',
                        upload_to='usuarios',
                        variations={'thumb': {
                            'width': 100,
                            'height': 100
                        }},
                        blank=True)

    class Meta:
        verbose_name = 'Usuário'
        verbose_name_plural = 'Usuários'

    def __str__(self):
        return self.nome

    def loggin(self):
        tk = Token().token
        self.token = tk

    def logout(self):
        tk = Token().token
        self.token = tk
Beispiel #15
0
class User(AbstractUser):
    user_type = models.CharField(max_length=15, default='normal')
    image = StdImageField(
        upload_to=upload_image_path,
        blank=True,
        null=True,
        delete_orphans=True,
    )
    etc = models.CharField(max_length=150, blank=True)
    branch = models.ForeignKey(Branch,
                               blank=True,
                               null=True,
                               on_delete=models.SET_NULL,
                               related_name='users')

    objects = UserManager()

    class Meta:
        ordering = ['user_type', 'username']

    def get_absolute_url(self):

        return reverse_lazy("branches:user_detail",
                            kwargs={
                                "branch_slug": self.branch.slug,
                                "username": self.username
                            })

    def has_perm(self, perm, obj=None):
        return True

    def has_module_perms(self, app_label):
        return True
Beispiel #16
0
class Post(models.Model):
    author = models.ForeignKey(settings.AUTH_USER_MODEL,
                               on_delete=models.CASCADE,
                               null=True)
    title = models.CharField(max_length=200)
    text = models.TextField()
    description = models.CharField(max_length=200, blank=True, null=True)

    image = StdImageField(
        upload_to='images/',
        null=True,
        blank=True,
        verbose_name='Изображение',
        variations={'thumbnail': {
            'width': 400,
            'height': 400
        }})

    created_date = models.DateTimeField(default=timezone.now)
    published_date = models.DateTimeField(blank=True, null=True)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return "/blog/%i/" % self.id
class User(AbstractUser):
    WORK_IN_OFFICE = 'work in office'
    NOT_WORKING = 'not working'
    WORK_REMOTE = 'work remote'
    SICK = 'sick'
    BUSY = 'busy'

    STATUS_CHOICES = (
        (WORK_IN_OFFICE, _(WORK_IN_OFFICE)),
        (WORK_REMOTE, _(WORK_REMOTE)),
        (SICK, _(SICK)),
        (BUSY, _(BUSY)),
    )

    status = models.CharField(max_length=20,
                              null=True,
                              blank=True,
                              choices=STATUS_CHOICES)
    comment = models.TextField(null=True, blank=True)
    photo = StdImageField(verbose_name=_("image"),
                          null=True,
                          blank=True,
                          upload_to=UploadToClassNameDirUUID())

    def thumbnail(self):
        return u'<img src="%s%s" />' % (settings.MEDIA_URL,
                                        self.image.thumbnail)

    thumbnail.allow_tags = True
class Entry(models.Model):
    ENTER = 'enter'
    EXIT = 'exit'

    TYPE_CHOICES = (
        (ENTER, _(ENTER)),
        (EXIT, _(EXIT)),
    )

    user = models.ForeignKey('core.User',
                             null=True,
                             blank=True,
                             on_delete=models.CASCADE)
    type = models.CharField(max_length=20,
                            null=True,
                            blank=True,
                            choices=TYPE_CHOICES)
    datetimestamp = models.DateTimeField(auto_now_add=True)
    photo = StdImageField(verbose_name=_("image"),
                          null=True,
                          blank=True,
                          upload_to=UploadToClassNameDirUUID())

    def thumbnail(self):
        return u'<img src="%s%s" />' % (settings.MEDIA_URL,
                                        self.image.thumbnail)

    thumbnail.allow_tags = True
Beispiel #19
0
class AlbumPhoto(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    album = models.ForeignKey(Album,
                              on_delete=models.CASCADE,
                              related_name='photos')
    # photo = models.ImageField(upload_to=album_folder)

    # thumb = models.ImageField(upload_to=thumb_folder)

    photo = StdImageField(
        upload_to=album_folder,
        variations={'thumbnail': {
            'width': 300,
            'height': 300,
            'crop': False
        }})
    # stdimage allows standardized file renaming and thumbnail creation
    # figure out how to use the thumbnail...
    # can replace the thumb = models.imagefield above this block

    caption = models.CharField(max_length=100)
    created_by = models.ForeignKey(User,
                                   on_delete=models.CASCADE,
                                   related_name='user_photos')
    time = models.DateTimeField(default=timezone.localtime(timezone.now()))

    class Meta:
        ordering = ['-time']

    def __str__(self):
        return str(self.id) + ": " + str(self.caption)
Beispiel #20
0
class Photo(TimestampedModel):
    """
    A model that represents photo 
    """
    # user
    user = models.ForeignKey('auth.User', on_delete=models.CASCADE)

    # photo
    photo = StdImageField(upload_to='photos/',
                          variations={
                              'large': (1000, 1000),
                              'thumbnail': (100, 100, True)
                          },
                          delete_orphans=True)

    # caption
    caption = models.CharField(max_length=255)

    # When the photo is published. If None it means the photo is
    # unpublished.
    published_at = models.DateTimeField(blank=True, null=True)

    class Meta:
        verbose_name = 'Photo'
        verbose_name_plural = 'Photos'

    def publish(self):
        self.published_at = timezone.now()
        self.save(update_fields=['published_at'])
Beispiel #21
0
class Photo(models.Model):
    name = models.CharField("Nome", max_length=100)
    image = StdImageField("Fotos",
                          upload_to='photos',
                          size=(800, 600),
                          thumbnail_size=(200, 200, True))
    width = models.IntegerField(default=0)
    heigth = models.IntegerField(default=0)

    content_type = models.ForeignKey(ContentType,
                                     related_name="photo_content_type")
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey("content_type", "object_id")
    objects = PhotoManager()

    def delete_files(self):
        filename = self.image.path
        if os.path.exists(filename):
            os.remove(filename)
        thumbnail_filename = self.image.thumbnail.path()
        if os.path.exists(thumbnail_filename):
            os.remove(thumbnail_filename)

    class Meta:
        db_table = "django_photo"
Beispiel #22
0
class Post(models.Model):
    title = models.CharField(max_length=30)
    tokuten = models.CharField(max_length=80)
    content = models.TextField()
    name = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
    #img = models.ImageField(upload_to='img/',null=True)
    tell = models.CharField(max_length=15, blank=True)
    email = models.EmailField(null=True, blank=True)
    url = models.URLField(null=True, blank=True)
    created = models.DateTimeField(default=timezone.now)
    updated = models.DateTimeField(auto_now=True)
    img = StdImageField(upload_to='path/to/img',
                        blank=True,
                        variations={
                            'large': (600, 257.14),
                            'thumbnail': (360, 234.7, True),
                            'medium': (300, 300),
                        })

    def updated(self):
        self.updated = timezone.now()
        return self.save()

    def __str__(self):
        return str(self.name) + ':' + self.title

    def get_absolute_url(self):
        return reverse('detail', kwargs={'pk': self.pk})
Beispiel #23
0
class ThumbnailModel(models.Model):
    """creates a thumbnail resized to maximum size to fit a 100x75 area"""
    image = StdImageField(
        upload_to=UploadTo(name='image', path='img'),
        blank=True,
        variations={'thumbnail': (100, 75)}
    )
Beispiel #24
0
class ImageGallery(models.Model):
    image_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def get_upload_file_name(instance, filename):
        return "upload_files/%s_%s" % (str(time()).replace('.', '_'), filename)

    images = StdImageField(upload_to=get_upload_file_name,
                           blank=True,
                           variations={
                               'large': (400, 400),
                               'thumbnail': (100, 100, True)
                           })

    def image_tag(self):
        return u'<img src="%s" />' % self.images.thumbnail.url

    image_tag.short_description = 'Image'
    image_tag.allow_tags = True

    def __unicode__(self):
        return u'%s %s' % (self.image_text, self.pub_date)

    def was_published_recently(self):
        now = timezone.now()
        return now - datetime.timedelta(days=1) <= self.pub_date <= now
# search_fields = ['question_text']

    was_published_recently.admin_order_field = 'pub_date'
    was_published_recently.boolean = True
    was_published_recently.short_description = 'published recently?'
Beispiel #25
0
class Motor(models.Model):
    id = models.AutoField(primary_key=True)
    tag = models.CharField(max_length=30, blank=False)
    function = models.CharField('Function', max_length=50, blank=True)
    motor = models.CharField('Motor', max_length=50, blank=True)
    fuel = models.CharField('Fuel', max_length=50, blank=False)
    power = models.CharField(max_length=40, blank=False)
    controller = models.CharField(max_length=30, blank=False)
    operation = models.CharField(max_length=30, blank=True)
    capacity = models.CharField(max_length=50, blank=False)
    hour_meter = models.CharField(max_length=50, blank=True)
    oil_change = models.CharField(max_length=50, blank=True)
    image = StdImageField(
        'Image',
        upload_to=get_file_path,
        default='device/LogoSmart320.png',
        variations={'thumb': {
            'width': 50,
            'height': 50,
            'crop': True
        }})
    year = models.DateTimeField(('date joined'), default=timezone.now)

    def __str__(self):
        return self.motor
Beispiel #26
0
class Trend(CreationModificationDateMixin):
    product = models.ForeignKey(Product, on_delete=models.CASCADE)

    start_date = models.DateTimeField(auto_now_add=False,
                                      auto_now=False,
                                      null=True,
                                      blank=True)
    end_date = models.DateTimeField(auto_now_add=False,
                                    auto_now=False,
                                    null=True,
                                    blank=True)
    active = models.BooleanField(default=True)
    image = StdImageField(upload_to='images/marketing/banner',
                          blank=True,
                          null=True,
                          variations={
                              'trend_size': (520, 460),
                          },
                          delete_orphans=True)

    objects = MarketingManager()

    class Meta:
        ordering = ['end_date']

    def __str__(self):
        return str(self.product.title)

    def get_absolute_url(self):
        return reverse('me2ushop:product', kwargs={'slug': self.product.slug})
Beispiel #27
0
class Listing(models.Model):
    listingID = models.AutoField(primary_key=True)
    listingType = models.CharField('Listing Type',
                                   max_length=1,
                                   choices=LISTING_TYPE)
    category = models.CharField('Category',
                                max_length=2,
                                choices=CATEGORY_CHOICES)
    method = models.CharField('Method of Sale',
                              max_length=2,
                              choices=METHOD_CHOICES,
                              blank=True,
                              null=True)
    title = models.CharField("Title", max_length=70)
    description = models.TextField("Description", null=True, blank=True)
    user = models.ForeignKey(User, related_name="Lister")
    picture = StdImageField('Picture (optional)',
                            upload_to='ttrade/images/upload/',
                            size=(560, 800),
                            blank=True)
    posted = models.DateTimeField('Date Posted')
    expire = models.DateTimeField('Date Expire')
    offers = models.ManyToManyField('Offer', null=True, blank=True)
    price = CurrencyField("Price",
                          blank=True,
                          null=True,
                          decimal_places=2,
                          max_digits=7)
    active = models.BooleanField("Is active", default=True)

    def __unicode__(self):
        return self.title
Beispiel #28
0
class AboutSlideShowPhoto(models.Model):
    photo = StdImageField(upload_to='about_page_photos',
                          thumbnail_size=(1050, 790))
    active = models.BooleanField()
    title = models.TextField()
    text = models.TextField()
    link = models.CharField(max_length=256, blank=True)
Beispiel #29
0
class MyStorageModel(CustomManagerModel):
    """delays creation of 150x150 thumbnails until it is called manually"""
    image = StdImageField(
        upload_to=upload_to,
        variations={'thumbnail': (150, 150, True)},
        storage=FileSystemStorage(),
    )
Beispiel #30
0
class Post(Model):
    title = CharField(max_length=200, unique=True)
    slug = SlugField(max_length=200, unique=True)
    category = ForeignKey(Category, on_delete=SET_NULL, null=True)
    tags = ManyToManyField(Tag)
    author = ForeignKey(User, on_delete=CASCADE, related_name='posts')
    updated_on = DateTimeField(auto_now=True)
    content = TextField()
    intro = TextField(null=True)
    created_on = DateTimeField(auto_now_add=True)
    status = IntegerField(choices=STATUS, default=0)
    image = StdImageField(upload_to="title-img/",
                          null=True,
                          variations={
                              "squared_image": {
                                  'width': 500,
                                  'height': 500
                              },
                              'thumbnail': {
                                  'width': 100,
                                  'height': 75
                              }
                          })

    class Meta:
        ordering = ['-created_on']

    def __str__(self):
        return self.title