小编mgs*_*mgs的帖子

Chrome不会删除会话Cookie

我正在尝试在javascript中设置会话cookie,如下所示:

document.cookie = 'name=alex; path=/'
Run Code Online (Sandbox Code Playgroud)

但即使我退出浏览器并再次启动浏览器,Chrome也不会将其删除.

我检查了Firefox和Opera,两者都按预期工作 - 他们在浏览器退出时删除了会话cookie.

Chrome是否只是忽略过期规则?

我检查了多个操作系统,发现会话cookie在Windows XP和Ubuntu中的Chrome上被删除,但在Mac OSX Lion中没有.

javascript cookies session google-chrome

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

在Django中自定义登录

Django新手在这里.

我写了简化的登录表单,它接收电子邮件和密码.如果提供了电子邮件和密码,它的效果很好,但如果缺少任何一个,我会得到KeyError异常.根据django文档,这应该永远不会发生:

默认情况下,每个Field类都假定该值是必需的,因此如果传递一个空值 - None或空字符串("") - 那么clean()将引发ValidationError异常

我试图为字段编写自己的验证器(clean_email和clean_password),但它不起作用(即我得到KeyError异常).我究竟做错了什么?

class LoginForm(forms.Form):
    email = forms.EmailField(label=_(u'Your email'))
    password = forms.CharField(widget=forms.PasswordInput, label=_(u'Password'))

    def clean_email(self):
        data = self.cleaned_data['email']
        if not data:
            raise forms.ValidationError(_("Please enter email"))
        return data

    def clean_password(self):
        data = self.cleaned_data['password']
        if not data:
            raise forms.ValidationError(_("Please enter your password"))
        return data

    def clean(self):
        try:
            username = User.objects.get(email__iexact=self.cleaned_data['email']).username
        except User.DoesNotExist:
            raise forms.ValidationError(_("No such email registered"))
        password = self.cleaned_data['password']

        self.user = auth.authenticate(username=username, password=password)
        if self.user is None or not self.user.is_active:
            raise forms.ValidationError(_("Email or password is incorrect")) …
Run Code Online (Sandbox Code Playgroud)

forms django validation

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

javascript for循环意外行为

我有几个关于javascript for循环的问题.

第一个问题:

for (i=0; i<=2; i++) {;}
console.log(i);
Run Code Online (Sandbox Code Playgroud)

输出是3.不应该是2吗?

第二个问题:

for (var i=0; i<=2; i++) {
    setTimeout(function(){console.log(i);}, i*1000);
}
Run Code Online (Sandbox Code Playgroud)

超时设置正确:0,1000和2000.但输出为3,3,3(应为0,1,2).这是否意味着在循环退出执行延迟函数?为什么?

我应该阅读什么来理解所有这些神秘的javascript东西?

谢谢.

javascript loops

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

将一个类的多个实例分配给变量

蟒蛇.我需要为多个变量分配多个类实例.首先我试过这个:

a = b = c = []
Run Code Online (Sandbox Code Playgroud)

但他们都指的是同一个对象,这不是我需要的.这效果更好:

(a, b, c) = [[] for i in range(3)]
Run Code Online (Sandbox Code Playgroud)

但它似乎有点过于冗长.有没有更短的方法来做到这一点?

更新:好的,所以这不是真正的Pythonic将所有东西塞进一行,问题解决了.

但如果这样做有点真的很酷:

a,b,c = []*3
Run Code Online (Sandbox Code Playgroud)

此行创建对同一对象的三个引用:

a,b,c = [[]] * 3
Run Code Online (Sandbox Code Playgroud)

那好吧...

python

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

cl-who和format

我正在尝试使用cl-who生成以下html代码:

<html>
<body>
<div id="cnt_1"></div>
<div id="cnt_2"></div>
<div id="cnt_3"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我认为可行的代码:

(with-html-output-to-string (*standard-output* nil)
 (:html
  (:body
   (do ((cnt 1 (+ cnt 1)))
       ((> cnt 3))
     (htm (:div :id (format t "cnt_~A" cnt)))))))
Run Code Online (Sandbox Code Playgroud)

但我得到以下输出:

<html><body><divcnt_1></div><divcnt_2></div><divcnt_3></div></body></html>
Run Code Online (Sandbox Code Playgroud)

似乎:id不能与函数调用一起使用.这是否意味着我不能在cl-who中使用格式?我应该用什么呢?

lisp sbcl common-lisp hunchentoot cl-who

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

jquery:从ajax调用中获取父元素

如何使这段代码工作?我不知道如何div$.get回调中达到目标.

$("<div/>", {
    text: "some text",
    click: function (e) {
        $.get("bar.php", function(data) {
             $(this).text(data); // doesn't work
    });
    }
}).appendTo("body");
Run Code Online (Sandbox Code Playgroud)

javascript jquery scope

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