小编Roh*_*han的帖子

django-image-cropping 在管理界面中不起作用

我在我的 django 项目中使用了django-image-cropping,我遵循了官方指南,但仍然没有得到想要的结果。这是我的项目文件的片段。

我已经将easy_thumbnails和添加image_cropping到我的INSTALLED_APPS.

设置.py

from easy_thumbnails.conf import Settings as thumbnail_settings
THUMBNAIL_PROCESSORS = (
    'image_cropping.thumbnail_processors.crop_corners',
) + thumbnail_settings.THUMBNAIL_PROCESSORS
Run Code Online (Sandbox Code Playgroud)

模型.py

from django.db import models
from image_cropping import ImageRatioField    
class UserData(models.Model):
        fullname = models.CharField(max_length=255)
        user = models.CharField(max_length=70, unique=True, blank=False, null=False)
        image = models.ImageField(upload_to=generate_filename,blank=False, null=False)
        cropping = ImageRatioField('image', '180x180')
Run Code Online (Sandbox Code Playgroud)

管理文件

from django.contrib import admin
from image_cropping import ImageCroppingMixin
class UserDataModelAdmin(ImageCroppingMixin, admin.ModelAdmin):
    # filter_horizontal=['image']
    pass

admin.site.register(UserData, UserDataModelAdmin)
Run Code Online (Sandbox Code Playgroud)

根据官方指南,足以在管理面板中看到增强的选择区域,但我不明白。相反,我得到了这个。 在此处输入图片说明

没有裁剪选项。

请帮我解决这个问题。

python django image

5
推荐指数
1
解决办法
1245
查看次数

如何在 JSON 中获取 PrimaryKeyRelatedField 的字符串表示

我正在使用 Django REST 框架,我对这件事还很陌生。

我想在我的 JSON 输出中使用 manytomanyfield 和外键字段的字符串表示而不是值。

模型.py

class Movie(models.Model):
    """Movie objects"""
    name = models.CharField(max_length=128)
    directorName = models.ForeignKey(Director)
    genre = models.ManyToManyField(Genre)
Run Code Online (Sandbox Code Playgroud)

序列化程序.py

class MovieSerializer(serializers.ModelSerializer):
    """
    Serialiazing all the Movies.
    """
    genre = serializers.PrimaryKeyRelatedField(many=True, queryset=Genre.objects.all())
    directorName = serializers.PrimaryKeyRelatedField(queryset=Director.objects.all())
    owner = serializers.ReadOnlyField(source='owner.username')
    class Meta:
        model = Movie
        fields = ('popularity',"directorName",'genre','imdbScore','name','owner')
Run Code Online (Sandbox Code Playgroud)

JSON 输出

{"popularity":"90.0","directorName":1,"genre":[1,2,3],"imdbScore":"8.9","name":"Titanic"}
Run Code Online (Sandbox Code Playgroud)

而不是directorName 和流派的display_name,我只得到值。

请建议我如何纠正这个问题。

编辑 [已解决] 您需要覆盖 PrimaryKeyRelatedField 的 to_representation() 方法,因为它返回 pk。

python django json python-2.7 django-rest-framework

2
推荐指数
1
解决办法
3248
查看次数

ubuntu 15.04 终端中的 swift 命令错误

我从swift.org为 Ubuntu 15.10安装了 Swift 的开源版本,但我在我的机器上运行 Ubuntu 15.04。现在,当我swift在终端中执行命令时,它会引发以下错误。

swift/usr/bin/repl_swift:加载共享库时出错:libicuuc.so.55:无法打开共享对象文件:没有这样的文件或目录

错误:无法在 REPL 断点处停止进程

我运行以下命令以确保安装了 libicu52。

 sudo apt-get install libicu52
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。提前致谢。

linux swift ubuntu-15.04

2
推荐指数
1
解决办法
4476
查看次数