我在加载数据表对象时遇到问题。当我在页面加载时初始化并填充表时,它可以正常工作。
下面的代码在页面重新加载时完美运行。
<script src="https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
var table = $('#dt_110x_complex').DataTable({
paging : true,
scrollY: 300,
ajax: "{{ url_for('complex_data') }}"
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
但下面的代码在单击按钮时不起作用。我究竟做错了什么?
$(function() {
$('#proces_input').on('click', function() {
alert('Im in')
var table = $('#dt_110x_complex').DataTable({
paging : true,
scrollY: 300,
ajax: "{{ url_for('complex_data') }}"
});
});
});
Run Code Online (Sandbox Code Playgroud)
按钮 id =“process_input”。单击按钮后会显示消息警报(“我正在”)。
下面是我的数据表的 html 表代码(两个示例相同):
<div class="row">
<div class="col-lg-12">
<table id="dt_110x_complex" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>id</th>
<th>code</th>
<th>date</th>
<th>blocade</th>
<th>konti</th>
<th>free</th>
<th>occ</th>
<th>origin</th>
<th>type</th>
<th>created</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div> …
Run Code Online (Sandbox Code Playgroud) 我想创建自己的内置命名元组类型,它具有一些额外的功能。假设我们创建一个类:
from collections import namedtuple
MyClass = namedtuple('MyClass', 'field1 field2')
Run Code Online (Sandbox Code Playgroud)
它是一成不变的,易读的和简单的。现在,我可以创建MyClass的实例:
myobj = MyClass(field1 = 1, field2 = 3.0)
print(myobj.field1, myobj.field2)
Run Code Online (Sandbox Code Playgroud)
我的额外要求是创建实例时,我想检查的field1
是int
type和field2
is float
。例如,如果用户尝试创建MyClass实例:
obj = MyClass(field1 = 1, field2 = 3.0) # instantiates ok
obj1 = MyClass(field1 = 'sometext', field2 = 3.0) # raises TypeError
Run Code Online (Sandbox Code Playgroud)
我试图制作一个自定义的namedtuple,它可以验证数据类型(MyClass应该是不可变的),例如:
MyClass = modifiednamedtuple('MyClass', 'field1 field2', (int, float) )
Run Code Online (Sandbox Code Playgroud)
但是卡住了:(。namedtuple
是函数(不能是ModifyedNamedtuple的基类),我对元类的实验失败了。
有任何提示或建议吗?
好的,我想出了一个可能不是“干净”或pythonic的解决方案。除了我的对象不是一成不变的以外,它都可以工作。如何使它们不变?有什么建议可以使它更干净,更可重用吗?
这是我的代码:
def typespecificnamedtuple(name, *attr_definitions):
def init(self, *args, **kwargs):
valid_types = dict(attr_definitions) # tuples2dict
for …
Run Code Online (Sandbox Code Playgroud)