小编Esc*_*her的帖子

R - 如何在数据范围内为条形图绘制零值以获取缺失值?

假设我有10个观察到1到10之间的200个整数点:

mysample = sample(rep(seq(1,10),20),10);
Run Code Online (Sandbox Code Playgroud)

而且我想要画吧

barplot(table(mysample));
Run Code Online (Sandbox Code Playgroud)

barplot 在此输入图像描述

在这个例子中,没有观察7.是否有一种快速的方法告诉barplot将x轴范围设置为1到10之间的所有整数,还是我必须手动编辑表?

r bar-chart

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

如何使用Django发布和检索blob

我有一个blob.这是我使用a重新调整大小的图像<canvas>.我已经通过将数据转换为URL来验证数据是否正确,以便根据MDN指南对其进行测试.到现在为止还挺好.现在,我想将它发布到我的Django服务器(以及其他一些输入).

所以我这样做:

var fd = new FormData(form);
canvas.toBlob( function(blob) {
  fd.set("image0", blob, "image0.jpg");
}, "image/jpeg", 0.7);
var xhr = new XMLHttpRequest();
xhr.open('POST', '/ajax-upload/', true);
xhr.setRequestHeader("X-CSRFToken", csrftoken);
xhr.send(fd);
Run Code Online (Sandbox Code Playgroud)

我使用网络检查器控制台检查POST消息.我的blob被确认为与POST请求一起发送,我可以看到二进制数据作为"image0"字段发送.

-----------------------------1773139883502878911993383390
Content-Disposition: form-data; name="image0"; filename="blob"
Content-Type: image/png
Run Code Online (Sandbox Code Playgroud)

所以我用这个视图处理POST请求,可以在url访问/ajax-upload/:

def ajax_upload(request):
    if request.method == 'POST':
        print(request.POST.urlencode())
Run Code Online (Sandbox Code Playgroud)

这没什么.一旦我发现我的斑点去了哪里,我怎么能把它变成一个Image?有点像img = Image.open(request.POST["image0"])

python django blob

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

Django 消息传递框架 - 如何仅显示成功消息

我正在使用 Django 消息传递框架来显示反馈消息。我无法显示成功消息。

以下是来自此处建议的解决方案和文档的改编代码:

{% for message in messages.success %}
    {% if 'success' in message.tags %}
    <div class="success-message">{{ message }}</div>
    {% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

这不会产生任何结果。如果我使用一些不那么歧视的东西,它会让我的消息完美地呈现:

{% for message in messages %}
    <p>{{ message }}</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

该视图创建如下消息:

messages.success(request, "here's a sample success message") 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我正在使用 django 1.9.2

python django

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

在 Django 中注释 value() 查询

我的RelatedModel有一个指向Product对象的外键字段。我正在尝试计算RelatedModel每个ProductUUID 的数量。

RelatedModel.objects.all().values(fk_product__uuid).annotate(total=Count('id'))
Run Code Online (Sandbox Code Playgroud)

这给了我:

[
{'total': 3, 'fk_product__uuid': UUID('195b6aa8-6a57-62c6-89d1-3397bf69d928')},
{'total': 7, 'fk_product__uuid': UUID('2a6a6a98-1a17-4cca-8111-2212b951003a')},
...
]
Run Code Online (Sandbox Code Playgroud)

我更喜欢将我的 UUID 密钥称为“uuid”,但我很难处理annotate相反的关系。有没有办法在不对列表进行后处理的情况下做到这一点?

django annotate

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

通过django s3中间件保存文件时获取Http403(但可以在shell中使用boto保存)

我一直试图通过我的django应用程序将用户上传的文件保存到我的s3存储桶中.我正在使用django-s3-storage中间件,但我一直在:

S3ResponseError:403禁止访问(拒绝访问)

我正在使用这些设置:

MEDIAFILES_LOCATION = 'media'
AWS_S3_CUSTOM_DOMAIN = 'my-bucket.s3-website-eu-west-1.amazonaws.com'
AWS_S3_HOST = 's3-website-eu-west-1.amazonaws.com'
MEDIA_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, MEDIAFILES_LOCATION)
DEFAULT_FILE_STORAGE = 'django_s3_storage.storage.StaticS3Storage'

#S3 settings from https://github.com/etianen/django-s3-storage
AWS_ACCESS_KEY_ID = "xxx"
AWS_SECRET_ACCESS_KEY = "yyy"
AWS_S3_BUCKET_NAME = "my-bucket"
AWS_S3_CALLING_FORMAT = "boto.s3.connection.OrdinaryCallingFormat"

# Make user uploaded files public
AWS_S3_BUCKET_AUTH = False
AWS_S3_MAX_AGE_SECONDS = 60*60*24*365 # 1 year
AWS_S3_GZIP = True
Run Code Online (Sandbox Code Playgroud)

我知道凭证是有效的:

from boto.s3.connection import S3Connection
from django.conf import settings
conn = S3Connection(settings.AWS_ACCESS_KEY_ID, settings.AWS_SECRET_ACCESS_KEY)
b = conn.get_bucket('my-bucket')
key = b.get_key('test.txt')
print(key.get_contents_as_string())
>>>this is a …
Run Code Online (Sandbox Code Playgroud)

django amazon-s3 boto amazon-web-services

5
推荐指数
0
解决办法
209
查看次数

mosquitto_pub 给出以下错误:1408F10B:SSL 例程:ssl3_get_record:版本号错误

我已将 mosquitto 配置为侦听端口 8883,并为服务器生成 LetsEncrypt SSL 证书。到目前为止,一切都很好。

我可以成功测试 TLS 连接: openssl s_client -connect mqtt.example.com:8883为我提供证书和会话信息,并且 mosquitto 的日志报告连接成功。

我还可以使用 paho python 库成功发布消息。

但是,当我尝试使用mosquitto_pub它时,会执行以下操作:

$ mosquitto_pub -h mqtt.example.com -p 8883 -u foobar -P "" -t foobar -m test
Client connection from XX.XX.XX.XX failed: error:1408F10B:SSL routines:ssl3_get_record:wrong version number.
Run Code Online (Sandbox Code Playgroud)

这似乎是一个常见问题,但我在网上搜索到的解决方案似乎都不适用于我,因为它们通常涉及客户端使用 自签名证书来识别自己。

所以我很困惑。有谁知道导致此错误的原因是什么?

openssl mqtt mosquitto lets-encrypt

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

如何使用.style JavaScript属性添加css box-shadow

我有以下JavaScript代码段:

document.getElementById("imgA").style.box-shadow = "0 0 5px #999999";
Run Code Online (Sandbox Code Playgroud)

连字符box-shadow导致JavaScript引擎抛出无效的赋值异常(在Firefox中).做"box-shadow"'box-shadow'不做.没有使用jquery的.css()方法,有没有一个很好的方法呢?

html javascript css

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

动态应用多个 CSS 过滤器

假设我想对图像应用一系列 CSS 滤镜。这是我的图片:

var img = document.getElementById("my_image.png");
Run Code Online (Sandbox Code Playgroud)

以下是<input type="range">应用过滤器的滑块:

var slider1 = document.getElementById("slider1");
var slider2 = document.getElementById("slider2");
Run Code Online (Sandbox Code Playgroud)

我为每个添加一个事件侦听器:

slider1.addEventListener("input", function(){
    img.style.filter = ( "sepia(" + this.value + ")" );
});
slider2.addEventListener("input", function(){
    img.style.filter = ( "blur(" + this.value + "px)" );
});
Run Code Online (Sandbox Code Playgroud)

当我移动第二个滑块时,它将删除第一个滑块的过滤器属性。但如果我+=设置过滤器属性,它将添加到img.style.filter滑块的每一步的字符串中。如果我使用“更改”事件侦听器,用户将无法获得滤镜效果的实时“预览”的好处。(如果用户第二次返回滑块,则会导致错误的img.style.filter属性)。

img.style.filter那么,在操作相关滑块时仅更新属性的相关部分同时保留实时渲染效果的最佳纯 javascript(无 jquery)方法是什么?

javascript css css-filters

4
推荐指数
1
解决办法
3587
查看次数

如何从渲染中排除 django 表单字段但仍保留它以进行验证?

如果我有一个模型(摘录):

class Coupon(models.Model):
    image = models.ImageField(max_length=64, null=True, upload_to="couponimages")
Run Code Online (Sandbox Code Playgroud)

和一个表格(摘录):

class InsertCoupon(forms.ModelForm):
    image=forms.ImageField(
        required=False, #note explicitly declared false
        max_length=64,
        widget=forms.FileInput() 
        )
    class Meta:
        model=Coupon,
        exclude = ("image",)
Run Code Online (Sandbox Code Playgroud)

然后我注意到当我这样做时图像字段仍然呈现{{ form.as_table }}。如果我从表单类中删除字段的显式声明,则它不会呈现,但我不会从表单验证和简单的模型表单插入到数据库中获益。我想在这个领域使用我自己的小部件(FileInput很难看) - 因此我必须自己编写所有的 html,还是有办法使用as_table

forms django

4
推荐指数
3
解决办法
3201
查看次数

PATCH 请求到 Django Rest 框架中的 ModelViewSet - 如何实现 serializer.update()?

我正在尝试使用我的产品 API来实现PATCH处理。ModelViewSet(Product 实例主键是 a uuid,因此在下面的代码中uuid显示为)。lookup_field

我对如何重写update()ModelSerializer 类方法感到困惑。源中的存根如下所示:

def update(self, instance, validated_data):
    raise NotImplementedError('`update()` must be implemented.')
Run Code Online (Sandbox Code Playgroud)

我不明白为什么instance并且validated_data应该提供,因为它们应该是序列化器的实例化属性:( 在文档中向上get_serializer(self, instance=None, data=None, many=False, partial=False)滚动一段)。为什么我应该提供经过验证的数据?序列化器不是应该验证它吗?

这是我的partial_update()实现:

Product.py(ViewSet 类)

def get_object(self, uuid=None):
    """ Utility method to get the object """
    # authentication logic, returns None if object not found

def partial_update(self, request, uuid=None):
    instance = self.get_object(uuid)
    if not instance:
        return Response(status=status.HTTP_404_NOT_FOUND)
    serializer = self.get_serializer(instance, 
                    data=request.data,
                    many=isinstance(request.data, …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

4
推荐指数
1
解决办法
8589
查看次数