sorl-ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΠ° == 12.3
ΠΠΆΠ°Π½Π³ΠΎ==1.8.3
ΠΠΎΠ΄ΡΡΠΊΠ°==2.9.0
from sorl.thumbnail import ImageField as SorlImage
class Person(PublishedMixin):
photo = SorlImage(upload_to='photos', blank=True, null=True)
...
from sorl.thumbnail.admin import AdminImageMixin as SorlImageAdmin
from reversion import VersionAdmin
class Admin(VersionAdmin):
exclude = []
class Media:
css = {
'all': ('css/admin_forms.css',)
}
@register(Person)
class PersonAdmin(Admin, SorlImageAdmin):
...
Π― Π½Π΅ Π²ΠΈΠΆΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΎΡΠΌΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠΎΡΠΌΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π² Π²ΡΠ²ΠΎΠ΄Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΠ°ΠΊ Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΡΠ°ΠΏΠΏΠ΅Π»Π»ΠΈ, ΡΠ°ΠΊ ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π»Π°ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π»Ρ sorl Π½Π΅ Π±ΡΠ»ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ python 3.5, django 1.9 ΠΈ sorl 13.2 Ρ ΠΏΠΎΠ΄ΡΡΠΊΠΎΠΉ.
Π£ ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ»ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»Π°ΡΡ, Π½ΠΎ Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ django 1.9 ΠΈΠ»ΠΈ AppConfig...
Π£ΡΠΎΠ΄Π»ΠΈΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅...
$ python manage.py migrate thumbnail
CommandError: App 'thumbnail' does not have migrations.
$ python manage.py makemigrations thumbnail
Migrations for 'thumbnail':
0001_initial.py:
- Create model KVStore
$ python manage.py migrate
Operations to perform:
Apply all migrations: <...>
Running migrations:
Rendering model states... DONE
Applying thumbnail.0001_initial... OK
ΡΠ΄Π°Ρ...
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ sorl.thumbnail
pip install --pre --upgrade sorl-thumbnail
ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ
ΠΡΠ»ΠΈΡΠ½ΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ.
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ! Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΡΠΎΡ ΡΡΡΠΊ!
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ sorl.thumbnail
ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ