可能重复:
for(var in aArray)VS for(i = 0; i <aArray.length; i ++)
假设这些总是会做同样的事情,并且我应该总是使用后者,这是安全的吗?
for (var i = 0; i < a.length; i++){
for (var i in a){
我有一个单词和多词短语列表:
terms = ['Electronic rock', 'Alternative rock', 'Indie pop']
我想检测terms[0]并terms[1]分享这个词rock.有没有Pythonic方法来做到这一点,而不是使用大量的for循环,临时列表,split(' ')?
基本上,我试图检测短语的半等同性.
Django对象不是"可订阅的",这意味着如果您user.name无法定义它,user['name']则无法使用info动态加载对象.
info = {'first_name': 'Artur', 'last_name': 'Sapek'}
me = User()
for i in info:
me[i] = info[i]
Run Code Online (Sandbox Code Playgroud)
提起TypeError: 'User' object is not subscriptable,我发现自己编写代码
info = {'first_name': 'Artur', 'last_name': 'Sapek'}
if 'first_name' in info: me.first_name = info['first_name']
if 'last_name' in info: me.first_name = info['last_name']
so on...
Run Code Online (Sandbox Code Playgroud)
(它也需要if语句,因为有更多的信息并且它并不总是完整的 - 这不是我的实际代码)
有没有更好的方法来使用Django对象,它们没有像列表,dicts和字符串一样使用括号表示法的灵活性?
如果我做得对,我只是很好奇.
我正在编写一个网站的私有部分,并编写了一个登录视图,它会抛出一个登录窗口.我希望将这个视图重用于几个URL,一旦授予访问权限,所有URL都会转到不同的视图.看来你不能在urls.py中的语句中传递参数,所以我给了登录视图一个额外的参数redirect
def login(request, redirect):
code to read the login form and parse the POST input
if POST and loginSuccessful:
return redirect(request)
else:
return render_to_response('login.html', context)
Run Code Online (Sandbox Code Playgroud)
...并使每个特定的URL激活不同的单行,例如login_to_admin,它只返回带有重定向参数的登录视图.
def login_to_admin(request):
return login(request, admin)
def login_to_beta(beta):
return login(request, beta)
Run Code Online (Sandbox Code Playgroud)
一切正常,我只是想知道这是否是正确的方法.