mirror of
https://github.com/Findus23/RPGnotes.git
synced 2024-09-18 14:33:44 +02:00
support images in notes and portrait images
This commit is contained in:
parent
d980ce97be
commit
bf0f0567ea
4 changed files with 62 additions and 3 deletions
46
campaigns/migrations/0008_alter_campaign_language.py
Normal file
46
campaigns/migrations/0008_alter_campaign_language.py
Normal file
|
@ -0,0 +1,46 @@
|
|||
# Generated by Django 4.2.5 on 2023-09-18 14:44
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("campaigns", "0007_campaign_document"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="campaign",
|
||||
name="language",
|
||||
field=models.CharField(
|
||||
choices=[
|
||||
("simple", "Other"),
|
||||
("arabic", "Arabic"),
|
||||
("danish", "Danish"),
|
||||
("dutch", "Dutch"),
|
||||
("english", "English"),
|
||||
("finnish", "Finnish"),
|
||||
("french", "French"),
|
||||
("german", "German"),
|
||||
("greek", "Greek"),
|
||||
("hungarian", "Hungarian"),
|
||||
("indonesian", "Indonesian"),
|
||||
("irish", "Irish"),
|
||||
("italian", "Italian"),
|
||||
("lithuanian", "Lithuanian"),
|
||||
("nepali", "Nepali"),
|
||||
("norwegian", "Norwegian"),
|
||||
("portuguese", "Portuguese"),
|
||||
("romanian", "Romanian"),
|
||||
("russian", "Russian"),
|
||||
("spanish", "Spanish"),
|
||||
("swedish", "Swedish"),
|
||||
("tamil", "Tamil"),
|
||||
("turkish", "Turkish"),
|
||||
],
|
||||
help_text="This is needed for the full text search to work optimally.",
|
||||
max_length=100,
|
||||
verbose_name="Language",
|
||||
),
|
||||
),
|
||||
]
|
|
@ -1,6 +1,6 @@
|
|||
from django_jinja import library
|
||||
from sorl.thumbnail import get_thumbnail
|
||||
from sorl.thumbnail.templatetags.thumbnail import resolution
|
||||
from sorl.thumbnail.templatetags.thumbnail import resolution, is_portrait as is_portrait_original
|
||||
|
||||
from rpg_notes import settings
|
||||
|
||||
|
@ -8,9 +8,22 @@ from rpg_notes import settings
|
|||
@library.global_function
|
||||
def thumbnail(*args, **kwargs):
|
||||
kwargs["upscale"] = False
|
||||
size = args[1]
|
||||
file = args[0]
|
||||
if "x" not in size:
|
||||
if is_portrait_original(file):
|
||||
size = f"x{size}"
|
||||
args = list(args)
|
||||
args[1] = size
|
||||
args = tuple(args)
|
||||
return get_thumbnail(*args, **kwargs)
|
||||
|
||||
|
||||
@library.filter
|
||||
def is_portrait(file):
|
||||
return is_portrait_original(file)
|
||||
|
||||
|
||||
@library.filter
|
||||
def srcset(filename):
|
||||
""" Automatically generate the srcset value based on
|
||||
|
|
|
@ -6,4 +6,4 @@ from notes.models import Note
|
|||
class NoteForm(ModelForm):
|
||||
class Meta:
|
||||
model = Note
|
||||
fields = ["name", "aliases", "description_md", "parent"]
|
||||
fields = ["name", "aliases", "description_md", "parent", "image"]
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<dd><a href="{{ note.part_of.get_absolute_url() }}">{{ note.part_of }}</a></dd>
|
||||
{% endif %}
|
||||
{% if note.image %}
|
||||
{% set im=thumbnail(note.image, "860", crop="center") %}
|
||||
{% set im=thumbnail(note.image, "500", crop="center") %}
|
||||
<a href="{{ note.image.url }}" class="image-viewer">
|
||||
<img class="img-fluid" src="{{ im.url }}"
|
||||
width="{{ im.width }}"
|
||||
|
|
Loading…
Reference in a new issue