模型.py:
class UserProfile(models.Model):
photo = models.ImageField(upload_to = get_upload_file_name,
storage = OverwriteStorage(),
default = os.path.join(settings.STATIC_ROOT,'images','generic_profile_photo.jpg'),
height_field = 'photo_height',
width_field = 'photo_width')
photo_height = models.PositiveIntegerField(blank = True, default = 0)
photo_width = models.PositiveIntegerField(blank = True, default = 0)
视图.py:
def EditProfile(request):
register_generator()
source_file = UserProfile.objects.get(user = request.user).photo
args = {}
args.update(csrf(request))
args.update({'source_file' : source_file})
在我的模板某处:
{% generateimage 'user_profile:thumbnail' source=source_file %}
我收到一个错误:UserProfile 匹配查询不存在。
在这一行:
source_file = UserProfile.objects.get(user = request.user).photo
问题是 ImageField 的默认属性不起作用。因此,该对象不是在我的模型中创建的。如何正确使用此属性?如果我省略此属性,则创建的对象没有错误。我需要传递绝对路径还是相对路径?我正在使用 django-imagekit 在显示之前调整图像大小:http: //django-imagekit.readthedocs.org/en/latest/