小编Ant*_*al'的帖子

从javascript对象获取第一个键

假设我们有以下javascript对象:

ahash = {"one": [1,2,3], "two": [4,5,6]}
Run Code Online (Sandbox Code Playgroud)

有没有函数,它返回对象中第一个键的值?(我不知道密钥名称,我只想获得第一把钥匙的价值).

javascript

113
推荐指数
7
解决办法
13万
查看次数

从Django-admin中删除默认应用程序

默认情况下,在Django-admin中有用户,组和站点应用程序.如何删除群组和网站?

我试图admin.autodiscover()从根网址中删除.然后,当我admin.site.register(User, UserAdmin)在我的应用程序模型中添加某些内容时,我得到了一个AlreadyRegistered例外(这是相当正确的 - 模型用户已在django.contrib.auth中注册).

python django django-admin

50
推荐指数
3
解决办法
2万
查看次数

在python中引发异常的正确方法?

这是简单的代码:

import sys

class EmptyArgs(StandardError):
    pass

if __name__ == "__main__":
    #first way to raise exception
    if len(sys.argv) == 1:
       raise EmptyArgs     
    #second way to raise exception
    if len(sys.argv) == 1:
       raise EmptyArgs()
Run Code Online (Sandbox Code Playgroud)

哪种方式"更"正确?两者都有效.
注意:在我的实际代码中,异常与我声明的完全相同:没有消息和参数.

python exception

19
推荐指数
1
解决办法
7737
查看次数

Python电子邮件模块:表单标题"From",带有一些unicode名称+电子邮件

我在Python电子邮件模块的帮助下生成电子邮件.
以下是几行代码,它们演示了我的问题:

msg = email.MIMEMultipart.MIMEMultipart('alternative')

msg['From'] = "somemail@somedomain.com"

msg.as_string()

Out[7]: 'Content-Type: multipart/alternative;\n boundary="===============9006870443159801881=="\nMIME-Version: 1.0\nFrom: somemail@somedomain.com\n\n--===============9006870443159801881==\n\n--===============9006870443159801881==--' 
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,这里的一切都很好,从字段中包含电子邮件蚂蚁很酷.但是,如果我想在电子邮件之前添加一些名称呢?特别是unicode one:

In [8]: u.get_full_name()
Out[8]: u'\u0414\u0438\u043c\u0430 \u0426\u0443\u043a\u0430\u043d\u043e\u0432'

In [9]: msg = email.MIMEMultipart.MIMEMultipart('alternative')

In [10]: msg['From'] = "%s <%s>" % (u.get_full_name(), "email@at.com")

In [11]: msg.as_string()
Out[11]: 'Content-Type: multipart/alternative;\n boundary="===============5792069034892928634=="\nMIME-Version: 1.0\nFrom: =?utf-8?b?0JTQuNC80LAg0KbRg9C60LDQvdC+0LIgPGVtYWlsQGF0LmNvbT4=?=\n\n--===============5792069034892928634==\n\n--===============5792069034892928634==--'
Run Code Online (Sandbox Code Playgroud)

在这里你可以看到,所有的字符串(名称,电子邮件)都是用base64编码的(甚至是非常合乎逻辑的,MIMEMultipart将如何知道该字符串包含unicode和非unicode部分).
所以,我的问题是:我怎么告诉电子邮件模块让我很漂亮"从"标题如下:
From: =?UTF-8?B?0JLQmtC+0L3RgtCw0LrRgtC1?= <admin@notify.vk.com> ?

另外,我学到了一点RFC2822(http://www.faqs.org/rfcs/rfc2822.html,p.3.6.2).它说:

始发者字段指示消息源的邮箱."发件人:"字段指定消息的作者,即负责编写消息的人员或系统的邮箱."发件人:"字段指定负责实际传输消息的代理的邮箱.例如,如果秘书要为另一个人发送消息,则秘书的邮箱将出现在"发件人:"字段中,而实际作者的邮箱将出现在"发件人:"字段中.如果消息的发起者可以由单个邮箱指示并且作者和发送器相同,则不应使用"发件人:"字段.否则,两个字段都应该出现.

这是否意味着我应该将这两个标题结合起来?(来自和发件人).我有点困惑,因为我注意到我的Gmail中有很多电子邮件(通过"显示原始文件"查看),其中显示了来自字段名称和电子邮件.

感谢帮助.

python email

13
推荐指数
1
解决办法
8078
查看次数

带有DELETE的$ .ajax丢失参数

在我的客户端应用程序 - 用javascript和jQuery编写 - 我有一个函数,我正在使用DELETE方法向我的服务器执行$ .ajax请求.

代码是这样的:

    this.delete_one = function(id){
    console.log(id);
    $.ajax({
        url: sitesCtrl.url,
        type: "delete",
        dataType: 'json',
        data: {"id": id},
        success: function(data){
            if (data.success){
                $("sitesList").remove("#" + id + "\"");
            }
            else{
                console.log(data.message);
            }
        },
        error: function(){
            console.log("internal error");
        }
    })
};
Run Code Online (Sandbox Code Playgroud)

问题是服务器获取没有参数"id"的请求!只是一个简单的DELETE(根据firebug).通过PUT,POST或GET它可以很好地工作.

jquery

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

Outlook Mail REST API:发送带附件的邮件

我正在尝试使用下一个API方法:https://msdn.microsoft.com/office/office365/APi/mail-rest-operations#SendMessages.发送没有附件的邮件很好,但我无法理解如何发送带附件的邮件.

根据文档,Message结构可以包含Attachments类型为https://msdn.microsoft.com/office/office365/APi/complex-types-for-mail-contacts-calendar#RESTAPIResourcesFileAttachment的项目的数组.问题出在现场ContentBytes- 在向此API方法发送请求之前,不可能将字节转储到JSON(实际上将任何BLOB转储到JSON是无稽之谈).

我应该如何Attachments使用REST API?

谢谢.

outlook-restapi office365api

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

jQuery和long int id

我遇到了下一个问题:

在我们的数据库中,我们有带有id的对象,如4040956363970588323.我正在jQuery上编写一些客户端向导,用于与这些对象进行交互.客户端通过Ajax请求接收有关对象的基础数据,如:

$.ajax({
        url: "/api/pages/",
        type: "get",
        dataType: "json",
        data: {"id": site_id},
        success: function(data){
            if (data.success){
                for (var pidx in data.pages){
                    console.log(data.pages[pidx].id);
                    var li = $('<li class="ui-widget-content"></li>');
                    var idf = $('<input type="hidden" id="pid" value="{0}"/>'.format(data.pages[pidx].id))
                    var urlf = $('<input type="hidden" id="purl" value="{0}"/>'.format(data.pages[pidx].url))
                    li.text(data.pages[pidx].title);
                    li.append(idf);
                    li.append(urlf);
                    $("#selectable_pages_assign").append(li);
                }
                pages_was = $("#selectable_pages_assign>li");
            }
            else
                 updateTips(data.message);
        },
        error: function(){
             updateTips("Internal erro!");
        }
})
Run Code Online (Sandbox Code Playgroud)

所以,正如你所看到的,我发送的数据就像JSON对象(一些服务器代码):

return HttpResponse(dumps({
                        "success": True,
                        "pages": [{"id": page.id, "title": page.title, "url": page.image} for page in …
Run Code Online (Sandbox Code Playgroud)

javascript floating-point jquery floating-accuracy

6
推荐指数
1
解决办法
1969
查看次数

Python 的 2.7 socket.timeout 行为

下面是两个简单的python函数。首先尝试连接到test.com666上的域(主机名有效但端口无效)。第二次尝试连接到imap.mail.outlook.com端口 993(主机名有效,但看起来不供公共使用/访问)。

def fn_outlook(timeout):
    try:
        socket.create_connection(("imap.mail.outlook.com", 993), timeout=timeout)
    except socket.timeout:
        pass


def fn_test(timeout):
    try:
        socket.create_connection(("test.com", 666), timeout=timeout)
    except socket.timeout:
        pass
Run Code Online (Sandbox Code Playgroud)

这是该函数具有不同超时的执行时间:

In [14]: %time fn_test(1)
CPU times: user 644 µs, sys: 1.07 ms, total: 1.71 ms
Wall time: 1 s

In [15]: %time fn_test(2)
CPU times: user 589 µs, sys: 1.15 ms, total: 1.74 ms
Wall time: 2 s

In [16]: %time fn_outlook(2)
CPU times: user 838 µs, sys: 2.24 ms, total: 3.08 ms
Wall time: …
Run Code Online (Sandbox Code Playgroud)

python sockets python-2.7

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

SQLAlchemy:按 JSON 列中的键过滤

SQLAlchemy 版本:1.2.10,PostgreSQL 版本:10 多岁。
我正在关注这里的文档示例

In [1]: import sqlalchemy as sa

In [2]: from nimble_core.backend.persistence.pg import PG_META_DATA

In [3]: data_table = sa.Table('data_table', PG_META_DATA,
   ...:     sa.Column('id', sa.Integer, primary_key=True),
   ...:     sa.Column('data', sa.JSON)
   ...: )

In [4]: data_table.create()

In [5]: with PG_ENGINE.connect() as conn:
   ...:     conn.execute(
   ...:         data_table.insert(),
   ...:         data = {"key1": "value1", "key2": "value2"}
   ...:     )
   ...:
Run Code Online (Sandbox Code Playgroud)

在哪里:

In [10]: PG_ENGINE
Out[10]: Engine(postgresql://nimble:***@localhost:5432/nimble)

In [11]: PG_META_DATA
Out[11]: MetaData(bind=Engine(postgresql://nimble:***@localhost:5432/nimble))

In [12]: PG_META_DATA.sorted_tables
Out[12]:
[Table('data_table', MetaData(bind=Engine(postgresql://nimble:***@localhost:5432/nimble)), Column('id', Integer(), table=<data_table>, primary_key=True, nullable=False), Column('data', …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy

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

YouTube嵌入播放器:动态更改javascript视频链接

这是我的HTML代码的一部分(标有django-template语言变量的视频网址):

<div class="mainPlayer">
        <object width="580" height="326">
            <param name="movie" value="{{main_video.video_url}}"></param>
            <param name="allowFullScreen" value="true"></param>
            <param name="allowscriptaccess" value="always"></param>
            <embed src="{{main_video.video_url}}" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="580" height="326"></embed>
        </object>
    </div>
Run Code Online (Sandbox Code Playgroud)

和JS代码(使用jQuery 1.4.x)

$(document).ready(function(){ .....
$(".activeMovie img").live("click", function(){
    video_url = ($(this).parent().find('input').val());
    $('.mainPlayer').find('param:eq(0)').val(video_url);
    $('.mainPlayer').find('embed').attr('src', video_url);
})
...
})
Run Code Online (Sandbox Code Playgroud)

这样的算法在ff 3.6.3中运行良好,但在chrome4或opera 10.x.中没有运气,src并且value被更改,但是youtube播放器仍然显示旧视频.

youtube jquery

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