我正在尝试在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中没有.
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) 我有几个关于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东西?
谢谢.
蟒蛇.我需要为多个变量分配多个类实例.首先我试过这个:
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)
那好吧...
我正在尝试使用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中使用格式?我应该用什么呢?
如何使这段代码工作?我不知道如何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 ×3
cl-who ×1
common-lisp ×1
cookies ×1
django ×1
forms ×1
hunchentoot ×1
jquery ×1
lisp ×1
loops ×1
python ×1
sbcl ×1
scope ×1
session ×1
validation ×1