小编raj*_*aja的帖子

Django:从QueryDict中读取JSON对象的数组

如何通过JS和服务器端的AJAX调用传递复合JSON结构,在python中将其读作"非常相似"的数据结构?

我知道可以使用json格式(simplejson等),但我不知何故觉得QueryDict本身在我的情况下格式错误或重新格式化?

例:

通过AJAX向Django视图传递JSON对象[{"id":1},{"id":2},{"id":3}]的数组时,QueryDict的格式为:

POST:<QueryDict: {u'json_data[0][id]': [u'1'], u'type': [u'clone'], 
u'csrfmiddlewaretoken': [u'69bb3c434ced31ab301ede04bf491ec0'], 
u'json_data[1][id]': [u'2'], u'json_data[2][id]': [u'3']}>
Run Code Online (Sandbox Code Playgroud)

我如何迭代json_data?

我希望得到这样的东西:

POST:<QueryDict: {u'json_data': [{u'id': [u'1']}, {u'id': [u'2']}, {u'id': [u'3']}]},
u'csrfmiddlewaretoken': [u'69bb3c434ced31ab301ede04bf491ec0'], u'type': [u'clone']>
Run Code Online (Sandbox Code Playgroud)

这样我就可以将QueryDict作为字典访问并将json_data作为列表检索并按特定顺序处理它:可能只是按顺序列表顺序遍历它们.就像是:

ret = request.POST
for item in ret['json_data']:
    process(item['id'])
Run Code Online (Sandbox Code Playgroud)

实际上,进入process()的值可能是另一个键值对的字典,而不仅仅是一个数字(1,2,3等)

使用Javascript:

var test = [{"id": 1},{"id": 2},{"id": 3}];
$.post(
    "/insert_tc",
    {
      json_data: test,
      "type": 'clone',
      "csrfmiddlewaretoken": $csrf_token
    },  
    function(json) {
        //CALLBACK
    },
    "json"
);  
Run Code Online (Sandbox Code Playgroud)

views.py:

def insert_tc(request):
    if request.method == 'POST':       
    ret = request.POST
    type = ret['type']
    list = ret.getlist(ret)
Run Code Online (Sandbox Code Playgroud)

但是list返回空[] …

javascript django ajax request http-request

12
推荐指数
2
解决办法
9046
查看次数

CSS:右对齐垂直旋转的文本

我似乎无法将垂直旋转的div一直对齐到页面的右侧:http://jsfiddle.net/F23W2/2/

HTML:

<div class="vertical">Vertical Text</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.vertical {
    position: relative;
    background-color: #DDDDDD;
    padding: 10px;
    border-radius: 5px 5px 0 0;
    float: right;
    -moz-transform: rotate(270deg);  /* FF3.5+ */
    -o-transform: rotate(270deg);  /* Opera 10.5 */
    -webkit-transform: rotate(-90deg);  /* Saf3.1+, Chrome */
} 
Run Code Online (Sandbox Code Playgroud)
  • 在右页边框和div之间创建了不需要的边距.
  • 旋转div的顶部部分被裁剪.

虽然我可以使用负边距来解决,但我想知道是否存在更清晰的解决方案.

html css rotation css-float

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

jQueryUI自动完成'select'在鼠标单击时不起作用,但适用于关键事件

JS/JQuery的:

$this.find('input').autocomplete({
    source: "/autocomplete_tc_testcasename", 
    minLength: 2,
    focus: function(e,ui){
        $(this).val(ui.item.label);
        return false;
    },   
    select: function(e, ui) {
        console.log("Selected: "+ui.item.value);
    }    
}); 
Run Code Online (Sandbox Code Playgroud)

CSS:

        .ui-autocomplete {
            max-height: 200px;
            overflow-y: auto;
            padding: 5px;
        }   
        .ui-menu {
            list-style: none;
            background-color: #FFFFEE;
            width: 50%;
            padding: 0px;
            border-bottom: 1px solid #DDDDDD;
            border-radius: 6px;
            -webkit-box-shadow: 0 8px 6px -6px black;
            -moz-box-shadow: 0 0px 0px -0px black;
            box-shadow: 0px 2px 2px 0px #999999;
        }   
        .ui-menu .ui-menu {
        }
        .ui-menu .ui-menu-item {
            color: #990000;
            font-family:"Verdana";
            font-size: 12px;
            border-top: 3px solid …
Run Code Online (Sandbox Code Playgroud)

mouse jquery select autocomplete click

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

Linux上的Python cmd不会自动完成特殊字符或符号

字符,如-,+等不解析由Python的readline的字母数字ASCII字符基于CMD模块以同样的方式.这似乎只是Linux特定的问题,因为它似乎在Mac OS上按预期工作.

示例代码

import cmd

class Test(cmd.Cmd):
    def do_abc(self, line):
        print line 
    def complete_abc(self, text, line, begidx, endidx):
        return [i for i in ['-xxx', '-yyy', '-zzz'] if i.startswith(text)]

try:
    import readline
except ImportError:
    print "Module readline not available."
else:
    import rlcompleter
    if 'libedit' in readline.__doc__:
        readline.parse_and_bind("bind ^I rl_complete")
    else:
        readline.parse_and_bind("tab: complete")

Test().cmdloop()
Run Code Online (Sandbox Code Playgroud)

Mac OS上的预期行为

(Cmd) abc <TAB>
abc  
(Cmd) abc -<TAB>
-xxx  -yyy  -zzz  
(Cmd) abc -x<TAB>
(Cmd) abc -xxx
Run Code Online (Sandbox Code Playgroud)

Linux上的行为不正确

(Cmd) abc <TAB>
abc  
(Cmd) …
Run Code Online (Sandbox Code Playgroud)

python linux readline tab-completion python-cmd

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