ExerciseDevice image

This commit is contained in:
Bossanyi Tibor 2020-11-24 12:44:42 +01:00
parent aa23ec4e49
commit 8d95f128fb
3 changed files with 24 additions and 9 deletions

View File

@ -80,7 +80,7 @@ class ExerciseTreeAdmin(admin.ModelAdmin):
def get_image_preview(self, obj):
image_url = '/media/' + str(obj.image_url)
if obj.pk:
return format_html('<img src="{url}" title="{url}" width="30%" height="30%"/> ' \
return format_html('<img src="{url}" title="{url}" width="30%" height="30%"/> '
.format(url=image_url))
get_image_preview.short_description = _("Image Preview")
@ -132,7 +132,6 @@ class ExercisePlanDetailAdmin(admin.ModelAdmin):
list_editable = ('serie', 'repeat', 'weight_equation',)
#list_editable_link('',)
def get_plan(self, obj):
return obj.exercise_plan.name
@ -179,7 +178,17 @@ class TranslationExerciseDeviceInline(admin.TabularInline):
class ExerciseDeviceAdmin(admin.ModelAdmin):
list_display = ('device_id', 'name')
list_display = ('exercise_device_id', 'name')
fields = ('name', 'description', "image_url", "get_image_preview")
readonly_fields = ("get_image_preview",)
def get_image_preview(self, obj):
image_url = '/media/' + str(obj.image_url)
if obj.pk:
return format_html('<img src="{url}" title="{url}" width="30%" height="30%"/> ' \
.format(url=image_url))
get_image_preview.short_description = _("Image Preview")
inlines = [
TranslationExerciseDeviceInline

View File

@ -1,4 +1,5 @@
from django.db import models
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
@ -8,15 +9,21 @@ class LanguageTypes(models.TextChoices):
class ExerciseDevice(models.Model):
device_id = models.AutoField(primary_key=True)
exercise_device_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=100)
description = models.CharField(max_length=200, blank=True, null=True)
image_url = models.ImageField(upload_to='images/', help_text='The image size is 1366x768')
description = models.TextField(max_length=1000, blank=True, null=True, help_text="English description here")
class Meta:
db_table = 'exercise_device'
verbose_name = _("Exercise Device")
verbose_name_plural = _("Exercise Devices")
def image_tag(self):
return mark_safe('<img src="/media/%s" width="30%" height="30%" />' % self.image_url)
image_tag.short_description = 'Image'
def __str__(self):
return self.name
@ -244,7 +251,7 @@ class ExerciseTypeDevice(models.Model):
class ExerciseDeviceTranslation(models.Model):
translation_id = models.AutoField(primary_key=True)
device = models.ForeignKey(ExerciseDevice, on_delete=models.CASCADE)
exercise_device = models.ForeignKey(ExerciseDevice, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
language_code = models.CharField(max_length=2, choices=LanguageTypes.choices, default=LanguageTypes.HU)

View File

@ -1,2 +1 @@
from .prod import *
from .dev import *