我怎么能在python中做这样的事情?
foo = somevalue
previous = next = 0
for (i=1; i<objects.length(); i++) {
if (objects[i]==foo){
previous = objects[i-1]
next = objects[i+1]
}
}
Run Code Online (Sandbox Code Playgroud) 最近我发现SQLAlchemy的Column默认不起作用,因为我期望它:
>>> Base = declarative_base()
>>> class TestModel(Base):
... __tablename__ = 'tmodel'
... id = sa.Column(sa.Integer, primary_key=True)
... foo = sa.Column(sa.Integer, default=0)
...
>>> tmodel_instance = TestModel()
>>> print tmodel_instance.foo
None
>>> session.add(tmodel_instance)
>>> print tmodel_instance.foo
None
>>> session.commit()
>>> print tmodel_instance.foo
0
Run Code Online (Sandbox Code Playgroud)
我希望在对象实例化之后tmodel_instance.foo立即相等0,但似乎默认值仅在执行INSERT命令时使用,它确实让我感到困惑.为什么一个人更喜欢 default结束server_default?我如何实现我想要的目标?我应该指定所有默认参数__init__吗?这似乎是代码重复:更改默认值我必须将其更改两次并保持这些值相等 - 是否有某种方法可以避免这种情况?
在我的项目中,我有很多Ajax方法,使用外部客户端脚本(我不想将JavaScript包含在模板中!)和更改URL对我来说很麻烦,因为我需要手动更改Ajax调用中的URL .
有没有办法{% url %}在JavaScript中模拟templatetag 的行为?
例如,从^ajax脚本开始和稍后在脚本中打印urlpatterns会将模式替换为实际值吗?
这就是我的想法,我的问题是 - 是否有任何常见的做法来做这样的事情?也许一些可重用的应用程序?我也很乐意阅读您的任何建议和相关想法.
更新1: 我说的是计算网址,而不是静态网址:
url(r'^ajax/delete/(?P<type>image|audio)/(?P<item_id>\d+)/from/set/(?P<set_id>\d+)/$', 'blog.ajax.remove_item_from_set'),
Run Code Online (Sandbox Code Playgroud)