小编use*_*048的帖子

Python可选参数

伙计们,我刚刚开始使用python并且对可选参数感到困惑,比如我有这样的程序:

class B:
   pass

class A:
    def __init__(self, builds = B()):
        self.builds = builds
Run Code Online (Sandbox Code Playgroud)

如果我创建A两次

b = A()
c = A()
Run Code Online (Sandbox Code Playgroud)

并打印他们的构建

print b.builds
print c.builds
Run Code Online (Sandbox Code Playgroud)

我发现他们正在使用完全相同的对象,

<__main__.B instance at 0x68ee0>
<__main__.B instance at 0x68ee0>
Run Code Online (Sandbox Code Playgroud)

但它不是我想要的,因为如果b改变一些内部构建状态,c对象中的那个也将被改变.

是否可以通过使用此可选参数语法每次重新创建此可选参数?

python optional-arguments

24
推荐指数
3
解决办法
3万
查看次数

django模板中的url模板标记

我试图在django中使用url模板标签,但没有幸运,

我像这样定义了我的urls.py

urlpatterns = patterns('',
    url(r'^analyse/$',              views.home,  name="home"),
    url(r'^analyse/index.html',     views.index, name="index"),
    url(r'^analyse/setup.html',     views.setup, name="setup"),
    url(r'^analyse/show.html',      views.show,  name="show"),
    url(r'^analyse/generate.html',  views.generate, name="generate"),
Run Code Online (Sandbox Code Playgroud)

我在这个视图中定义了url模式

{% url 'show'%}
Run Code Online (Sandbox Code Playgroud)

然后我收到此错误消息

渲染时捕获异常:反向''show''参数'()'和关键字参数'{}'未找到.

原始回溯(最近一次调用最后一次):文件"/Library/Python/2.5/site-packages/django/template/debug.py",第71行,在render_node结果= node.render(context)文件"/ Library/Python /2.5/site-packages/django/template/defaulttags.py",第155行,在渲染中nodelist.append(node.render(context))文件"/Library/Python/2.5/site-packages/django/template/defaulttags .py",第382行,在渲染中引发NoReverseMatch:反向''show'',参数'()'和关键字参数'{}'未找到.

我想知道为什么django无法渲染?什么是在tempalte中定义它的正确方法?

django-templates django-urls

11
推荐指数
3
解决办法
3万
查看次数

如何在斯卡拉清理我死去的演员

嗨我使用scala(2.8.1)来实现一个使用actor的耗时任务处理程序,但是,我无法在运行单元测试时清理它,所以我的单元测试永远挂起.

我怎么称呼方法是:

  val configs = new ProjectsConfig("XXXXXXXXXXXXX")
  try {
    configs.start
    configs.init//time consuming stuff
  } finally {
    configs.destory
    configs.stop
  }
Run Code Online (Sandbox Code Playgroud)

我打算做的是保持actor的引用并在每个on上调用exit,代码片段如下:

  • init,初始化actor并保持每个actor的引用.
  • destory,呼叫每个演员的退出.
  • 停止,呼叫这个演员的退出.

但是,似乎效果不佳.在这种情况下如何清理所有演员?

class ProjectsConfig(val url: String) extends Actor {
  private var actors: List[Actor] = List()
  private object Stop

  def init = {
    val caller = this;
    for (projectConfig <- list) {
      val myActor: Actor = actor {
        caller ! projectConfig.instantiate
      }
      actors = actors ::: List(myActor)
    }
  }

  def act() {
    while (true) {
      receive {
        case project: …
Run Code Online (Sandbox Code Playgroud)

scala actor

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

我应该在Django框架中放置一次性操作操作?

我想执行一些一次性操作,例如启动后台线程并在Django服务器启动时每30分钟填充一次缓存作为初始化操作,因此它不会阻止用户访问网站.我应该把所有这些代码放在Django中?

  • 将它们放入setting.py文件不起作用.它似乎会导致循环依赖.
  • 把它们放到__init__.py文件中是行不通的.Django服务器多次调用它(是什么原因?)

python django

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