0
models.py的Django如何使用模板标签 - Imagekit应用
def get_upload_file_name(instance, filename):
return "uploads/%s/%s/profile_photo/%s" % (instance.user.username[:1], instance.user.username, filename)
class UserProfile(models.Model):
###.....
photo = models.ImageField(upload_to = get_upload_file_name,
blank = True, null = True,
height_field = 'photo_height',
width_field = 'photo_width')
因此,如果当前user.username是约翰资料图片会去上传/ J /约翰/ profile_photo /文件名
views.py:
from .image_processors import register_generator
#.....
@login_required
def EditProfile(request):
register_generator()
#....
image_processors.py
from imagekit import ImageSpec, register
from imagekit.processors import ResizeToFill
class Thumbnail(ImageSpec):
processors = [ResizeToFill(60, 80)]
def register_generator():
register.generator('user_profile:thumbnail', Thumbnail)
最后,模板包含:
{% generateimage 'user_profile:thumbnail' source=source_image %}
我的问题是:
又该source_image是什么?它没有在官方文档中指定。 我试图做源=“/static/uploads/J/John/profile_photo/EU.jpg”,但后来我得到的错误“SafeText”对象有没有属性“名”
如果source_image应该是图像的路径,如何用动态方式指定它? 谢谢
大声笑,我是失明的。我多次阅读文档并总是跳过这些文字。 –
np(:我将更新“早期”示例以使用相同的变量名称('source_file'),因此连接强度更大一些。我认为它们都是'source_image',但我改变它以使它清楚它是一个文件类对象而不是PIL图像,但错过了那个。 – matthewwithanm