我在内存中有一个树结构,我想使用Django模板在HTML中呈现.
class Node():
name = "node name"
children = []
Run Code Online (Sandbox Code Playgroud)
将有一些对象root是a Node,并且children是Nodes 的列表.root将在模板的内容中传递.
我已经找到了关于如何实现这一点的讨论,但是海报表明这在生产环境中可能并不好.
有人知道更好的方法吗?
如果我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__?
我有一个过程,对游标返回的所有记录执行一些计算.看起来有点像这样:
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语法和隐式记录类型.
我有一个模型类:
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.
有谁知道我怎么能达到我的意愿?
我们有以下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").
我怎样才能做到这一点?
我知道我可以在加载后在我的代码中对集合进行排序,但是这使得结果的分页非常困难.
我目前有以下项目结构:
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会对我有所帮助,但我只是想知道人们今天是怎么做的?
使用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,它具有非常优雅的反射解决方案.我将尝试这个,因为它不需要单独的代码生成步骤.
我有TextBox一个Panel,我想通知时的"文本框"的值更改.
我尝试过以下事件处理程序:
ChangeHandlerValueChangeHandlerKeyPresshandler我的问题是,ValueChangeHandler与ChangeHandler只有火的时候焦点离开控件.该KeyPressHandler火灾正确,但之前TextBox自己已经看到的情况下,这意味着将呼叫getText()从我的事件处理程序中看到一个不完整的数值.
是否有将工作完全一样的事件KeyPressHandler,但被解雇后的TextBox曾见过的事件吗?
编辑:在Windows XP上的Chrome和IE8中可以看到此行为
我正在创建一个(我的第一个!)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) 我正在尝试创建一个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) python ×3
gwt ×2
java ×2
typescript ×2
angular-dart ×1
dart ×1
django ×1
jpa ×1
plsql ×1
reactjs ×1
string ×1
tsx ×1
unit-testing ×1