小编Dav*_*kes的帖子

如何使用django模板渲染树结构(递归)?

我在内存中有一个树结构,我想使用Django模板在HTML中呈现.

class Node():
  name = "node name"
  children = []
Run Code Online (Sandbox Code Playgroud)

将有一些对象root是a Node,并且childrenNodes 的列表.root将在模板的内容中传递.

我已经找到了关于如何实现一点的讨论,但是海报表明这在生产环境中可能并不好.

有人知道更好的方法吗?

python django

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

为什么我的实例变量不在__dict__中?

如果我A按如下方式创建一个类:

class A:
    def __init__(self):
        self.name = 'A'
Run Code Online (Sandbox Code Playgroud)

检查__dict__会员看起来像{'name': 'A'}

但是,如果我创建一个类B:

class B:
    name = 'B'
Run Code Online (Sandbox Code Playgroud)

__dict__ 是空的.

是什么两者之间的区别,为什么没有name在显示出来B__dict__

python

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

我可以将显式游标传递给函数/过程以在FOR循环中使用吗?

我有一个过程,对游标返回的所有记录执行一些计算.看起来有点像这样:

PROCEDURE do_calc(id table.id_column%TYPE)
IS
  CURSOR c IS
    SELECT col1, col2, col3
      FROM table
     WHERE ...;
BEGIN
  FOR r IN c LOOP
    -- do some complicated calculations using r.col1, r.col2, r.col3 etc.
  END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)

现在我有一个案例,我需要对来自不同表的不同记录集执行完全相同的计算.然而,它们具有与上述实例中相同的"形状".

是否可以编写一个如下所示的过程:

PROCEDURE do_calc2(c some_cursor_type)
IS
BEGIN
  FOR r IN c LOOP
    -- do the calc, knowing we have r.col1, r.col2, r.col3, etc.
  END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)

我知道SYS_REFCURSOR,但我想知道是否可以使用更方便的FOR ... LOOP语法和隐式记录类型.

plsql

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

Google App Engine:如何以编程方式访问Model类的属性?

我有一个模型类:

class Person(db.Model):
  first_name = db.StringProperty(required=True)
  last_name = db.StringProperty(required=True)
Run Code Online (Sandbox Code Playgroud)

我有一个这个类的实例p,字符串s包含值'first_name'.我想做的事情如下:

print p[s]
Run Code Online (Sandbox Code Playgroud)

p[s] = new_value
Run Code Online (Sandbox Code Playgroud)

两者都导致了TypeError.

有谁知道我怎么能达到我的意愿?

python string google-app-engine

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

如何在JPA中动态排序集合属性?

我们有以下JPA类:

@Entity
class Supplier {
  // ... id property etc.

  @OneToMany
  @OrderBy("someProperty")
  private List<Region> regions;
}
Run Code Online (Sandbox Code Playgroud)

这在正常情况下工作正常.但是,我们有其中的值存储在类似性质的一些多语种数据nameEn,nameDe,nameZh.要使用的确切属性取决于登录用户.例如,德语用户应该看到区域好像已经注释了@OrderBy("nameDe").

我怎样才能做到这一点?

我知道我可以在加载后在我的代码中对集合进行排序,但是这使得结果的分页非常困难.

java jpa

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

如何在tsconfig.json中指定多个源文件夹?

我目前有以下项目结构:

project/
  tsconfig.json
  webpack.config.js
  package.json
  node_modules/
    ...lots of dependencies
  typings/
    ...lots of .d.ts files for the dependencies
  src/
    ...folders for files for my projects
Run Code Online (Sandbox Code Playgroud)

tsonfig.json看起来像:

{
"compilerOptions": {
    "module": "commonjs",
    "target": "es5",
    "noImplicitAny": false,
    "outDir": "./js",
    "rootDir": "./src",
    "sourceMap": true,
    "jsx": "react"
},
"exclude": [
    "typings/main.d.ts",
    "typings/main",
    "node_modules"
    ]
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,我可以愉快地开发我的应用程序并在浏览器中运行它.

我现在想在我的项目中添加一些单元测试并来自Java背景,我最初的本能是将测试放在一个单独的文件夹中:

project/
  test/
    ...all of my test cases
Run Code Online (Sandbox Code Playgroud)

当然,文件test/夹中的文件需要引用我src/文件夹中的代码.我该如何设置?

或者将测试内联放在src/文件夹中并webpack.config.js为它们设置单独的文件是"更好"的吗?

真的很困惑这在大型TypeScript项目中如何在实践中工作.

注意:我已经看过这个,但发现答案不是很有启发性.看来引用的功能讨论filesGlob会对我有所帮助,但我只是想知道人们今天是怎么做的?

unit-testing typescript

7
推荐指数
3
解决办法
2392
查看次数

如何在GWT中动态访问Java对象的属性?

使用GWT我有一个Java类:

public class Pojo {
  private String name;
  public String getName() { return name; }
  public void setName(String name) { this.name = name; }
}
Run Code Online (Sandbox Code Playgroud)

上述类在客户端和服务器端代码之间共享.

从客户端代码我想动态访问该属性.也就是说,我想用以下签名编写一个方法:

public String getProperty(Object o, String propertyName)
Run Code Online (Sandbox Code Playgroud)

这样以下代码可以工作:

Pojo pojo = new Pojo();
pojo.setName("Joe");
getProperty(pojo, "name");    // this should return "Joe"
Run Code Online (Sandbox Code Playgroud)

Java反射显然已经出来了.我尝试了以下JSNI方法:

public static native String getProperty(Object o, String name) /*-{
  return o[name];
}-*/;
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

无法使用从JavaScript访问Java对象的特殊语法,因为我希望它是动态的.

有关如何做到这一点的任何想法?

为了完整起见,我还希望能够动态设置属性.

编辑:blwy10的答案是一个很好的提示让我搜索使用"gwt反射",而不是像"动态属性访问"这样的术语.这引出了我的gwt-ent,它具有非常优雅的反射解决方案.我将尝试这个,因为它不需要单独的代码生成步骤.

gwt

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

GWT TextBox - 编辑期间值更改的通知

我有TextBox一个Panel,我想通知时的"文本框"的值更改.

我尝试过以下事件处理程序:

  • ChangeHandler
  • ValueChangeHandler
  • KeyPresshandler

我的问题是,ValueChangeHandlerChangeHandler只有火的时候焦点离开控件.该KeyPressHandler火灾正确,但之前TextBox自己已经看到的情况下,这意味着将呼叫getText()从我的事件处理程序中看到一个不完整的数值.

是否有将工作完全一样的事件KeyPressHandler,但被解雇TextBox曾见过的事件吗?

编辑:在Windows XP上的Chrome和IE8中可以看到此行为

java gwt

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

我如何@Input 一个复杂的对象到我的 AngularDart 组件中?

我正在创建一个(我的第一个!)AngularDart 应用程序。我在一个组件中有List一个类的对象(以示例 ToDo 应用程序的列表组件为模型)。这显示在 a 中,并且一切正常。Procedureprocedure_list_component.dartMaterialListComponent

我使用的是 Dart SDK 2.1.0 和 AngularDart ^5.2.0。

现在我想开发一个新组件来显示所选Procedure. 选择部分工作正常。我的细节组件目前看起来像这样:

@Component(
  selector: 'procedure-item',
  templateUrl: '''
<div>
  {{procedure.packageName}}.{{procedure.name}}
</div>
''',
  directives: [
  ],
)
class ProcedureItemComponent {
  @Input()
  Procedure procedure;
}
Run Code Online (Sandbox Code Playgroud)

组件的用法如下所示:

@Component(
  selector: 'procedure-item',
  templateUrl: '''
<div>
  {{procedure.packageName}}.{{procedure.name}}
</div>
''',
  directives: [
  ],
)
class ProcedureItemComponent {
  @Input()
  Procedure procedure;
}
Run Code Online (Sandbox Code Playgroud)

但是,在运行时我收到错误:

EXCEPTION: Type 'String' is not a subtype of expected type 'Procedure'.
STACKTRACE: 
dart:sdk_internal 4000:19                                                         check_C
package:tadpole/src/procedure_list/procedure_list_component.template.dart …
Run Code Online (Sandbox Code Playgroud)

dart angular-dart

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

TypeScript 1.8 - 为什么我的React Stateless Function组件在运行时抛出TypeError?

我正在尝试创建一个React无状态函数组件,如TypeScript 1.8 发行说明中所述.这编译没有错误但TypeError在运行时抛出.为什么?

我有一个界面

interface AppError {
  id: string;
  message: string;
}
Run Code Online (Sandbox Code Playgroud)

我的组件如下所示:import*as React from"react";

import { AppError } from "../error.interface";

const ErrorMessage = (props: {key: string, error: AppError}) => (
  <div className="col-lg-12" id={this.props.error.id}>
    <h2 className="page-header"><small>{this.props.error.message}</small>  </h2>
  </div>
);

export default ErrorMessage;
Run Code Online (Sandbox Code Playgroud)

它用于另一个组件,如下所示:

import * as React from "react";

import * as ErrorModel from "./../error.model";
import { AppError } from "./../error.interface";

import ErrorMessage from "./error.message.tsx";


export default class ErrorContainer extends React.Component<{}, ErrorContainerState> {

    constructor(props) { …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs tsx

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