小编Ozg*_*ali的帖子

父div的宽度大于Firefox中孩子的宽度

我在Firefox中有一个奇怪的问题.

我有一个高度在常量px值中定义的div,并且在其中有一个img元素.我对chrome中的这个设置没有问题,但是在firefox中父div的宽度比其中的img大.

这是html结构:

<div class="wrapper">
    <div class="imageHolder">
        <img src='dasource'>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是css:

.wrapper {
    width: 900px;
}

.imageHolder {
    height: 400px;
    width: auto;
    background-color: green;
    float: left;
    max-width: 50%;
    overflow: hidden;
}

.imageHolder img {
    height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/MXudn/6

正如在这个小提琴中所解释的那样,在firefox中,父div的结果大于其中的图像.

任何想法为什么会这样?

javascript css firefox

8
推荐指数
1
解决办法
1523
查看次数

jqueryui - 拖动到可排序时,Draggable会丢失id属性

我正在使用jqueryui的可拖动和可排序的功能.我的jqueryui版本是1.9.1,jquery版本是1.7.1

我有一组可拖动的项目和一个可排序的容器.我将可拖动项目拖到可排序容器中,并希望在sortable的停止处理程序中读取可拖动项目的id属性.然而,那里的id结果是不公平的.

$(sortableselector).sortable({
    stop: function(event, ui) {
        alert(ui.item.attr('id'));
    }
});

$(draggableselector).draggable({
    revert: true,
    revertDuration: 0,
    connectToSortable: 'sortableselector',
});
Run Code Online (Sandbox Code Playgroud)

打印未定义.我看过几个帖子指出这个bug,但是没有解决.如何在那里获得拖动项目的ID?

jquery-ui jquery-ui-sortable jquery-ui-draggable

7
推荐指数
1
解决办法
667
查看次数

Django按子类名称过滤基类

我在Django中有以下模型继承结构:

class Parent(models.Model):
    # stuff

class A(Parent):
    # stuff

class B(Parent):
    # stuff

class C(Parent):
    # stuff

and the list goes on.
Run Code Online (Sandbox Code Playgroud)

我正在使用django-model-utils的InheritanceManager来过滤像这样的对象:

Parent.objects.filter(foo=bar).select_subclasses()
Run Code Online (Sandbox Code Playgroud)

当我想要过滤所有子类时,这很有效.我想要做的是过滤A和B对象,但不过滤C对象.我想用一个像这样的查询来做到这一点

Parent.objects.filter(foo=bar, __class__.__name__=A, __class__.__name__=B).select_subclasses()
Run Code Online (Sandbox Code Playgroud)

是否可以进行这样的过滤操作,如果可能的话怎么做?

python django django-models

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

DRF Serializer 可读 - 可写非模型字段

在使用 Django / DRF 的项目上;我有以下模型结构:

class City(models.Model):
    name = models.CharField(max_length=100)

class Company(models.Model):
    city = models.ForeignKey(City)
    .
    .
Run Code Online (Sandbox Code Playgroud)

以下是 Company 模型的序列化器结构:

class CompanySerializer(serializers.ModelSerializer):    
    city_name = serializers.CharField(write_only=True)
    .
    .

    class Meta:
        model = Company
        fields = ('city_name',)

    def create(self, validated_data):

        # Get city
        city_name = validated_data.pop('city_name')
        try: 
            city = City.objects.get(name__iexact=city_name)
        except City.DoesNotExist:
            city = City.objects.create(name=city_name.title())

        company = Company.objects.create(city=city, **validated_data)

        return company
Run Code Online (Sandbox Code Playgroud)

在通过序列化程序创建公司时,用户提供了一个 city_name,如果不存在,我会使用该名称创建一个新城市,如果存在,则使用现有条目。在这个结构中,我希望能够在返回公司的同时返回 city_name 字段。它不是模型上的字段,所以我可以正常使用 SerializerMethodField,但我也希望这个字段也是可写的。我在这里有什么选择吗?

django django-rest-framework

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

django exclude 的性能问题

我有一个 Django 1.8 应用程序,我使用的是 MsSQL 数据库,pyodbc 作为数据库后端(使用“django-pyodbc-azure”模块)。

我有以下型号:

class Branch(models.Model):
    name = models.CharField(max_length=30)
    startTime = models.DateTimeField()

class Device(models.Model):
    uid = models.CharField(max_length=100, primary_key=True)
    type = models.CharField(max_length=20)
    firstSeen = models.DateTimeField()
    lastSeen = models.DateTimeField()

class Session(models.Model):
    device = models.ForeignKey(Device)
    branch = models.ForeignKey(Branch)
    start = models.DateTimeField()
    end = models.DateTimeField(null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

我需要查询会话模型,我想排除一些具有特定设备值的记录。所以我发出以下查询:

sessionCount = Session.objects.filter(branch=branch)
                          .exclude(device__in=badDevices)                                             
                          .filter(end__gte=F('start')+timedelta(minutes=30)).count()
Run Code Online (Sandbox Code Playgroud)

badDevices 是一个预填充的设备 ID 列表,大约有 60 个项目。

badDevices = ['id-1', 'id-2', ...]
Run Code Online (Sandbox Code Playgroud)

此查询大约需要 1.5 秒才能完成。如果我从查询中删除排除项,大约需要 250 毫秒。

我为这个查询集打印了生成的 sql,并在我的数据库客户端中进行了尝试。在那里,两个版本都在大约 250 毫秒内执行。

这是生成的 SQL:

SELECT [session].[id], [session].[device_id], [session].[branch_id], [session].[start], [session].[end] …
Run Code Online (Sandbox Code Playgroud)

sql-server django django-pyodbc

3
推荐指数
1
解决办法
1631
查看次数

从第三方 api 返回项目列表的 DRF 方式是什么?

我有一个端点,我需要向第三方 API 发出请求以获取项目列表并将结果返回给客户端。

以下哪种方法或任何其他方法更适合 DRF?

  1. 进行输入参数验证并调用第三方API,在视图方法中,将响应中的项目列表传递给序列化程序进行序列化并将序列化程序数据返回给客户端
  2. 将请求参数作为只写字段传递给序列化器,在序列化器中进行字段验证、api调用和序列化
  3. 1和2的混合物;使用 2 个不同的序列化器,一个将请求参数作为只写字段,验证输入参数并向第 3 方 api 发出请求,另一个序列化器从第一个序列化器获取结果列表并将项目序列化以供客户端使用

python django django-rest-framework

3
推荐指数
1
解决办法
1642
查看次数

从 Python 运行 Xvfb

我正在一个没有 X 服务器的服务器上工作,并试图运行一个使用 spynner 模块的脚本,这需要一个 X 服务器。为此,我想运行 Xvfb。

我可以通过调用它来运行脚本xvfb-run,即:

xvfb-run python2.6 try.py.
Run Code Online (Sandbox Code Playgroud)

这没有问题。但是,我需要从脚本中调用 Xvfb。为此,我尝试使用子流程如下:

xvfb = subprocess.Popen(['Xvfb', ':99'])
Run Code Online (Sandbox Code Playgroud)

将这段代码添加到脚本的开头后,并尝试将脚本运行为

python2.6 try.py
Run Code Online (Sandbox Code Playgroud)

我收到消息:

: cannot connect to X server 
Run Code Online (Sandbox Code Playgroud)

还有什么我需要做的吗?提前致谢。

python subprocess xvfb

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

获取virtualenv中安装的所有软件包的pip install命令

我在virtualenv中部署了一个Django应用程序.我想现在将这个应用程序移动到另一个服务器,为此我需要将所有必需的python包安装到新环境中.

有没有工具来创建一个pip install命令来安装virtualenv中的所有已安装的软件包?

例如,如果我只在virtualenv中安装了Django和Gunicorn,运行所需的工具将输出以下内容:

pip install django == 1.6.6.gunicorn == 19.1.0(包括版本)

python virtualenv

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