我在理解这三个框架之间的差异时遇到了一些麻烦:
这三个框架可以用于同时运行代码,但使用不同数量的线程/进程或代码样式以不同的方式执行此操作.这就是我现在理解差异的方式:
我现在遇到的问题是:
Tornado/Twisted能够接受(几乎)任意数量的套接字,因为它们使用异步代码并在I/O循环中对请求进行排队.
是芹菜/ GEVENT能这样做呢?他们是否必须生成一个新的进程/线程才能接受新的套接字?
我试图弄清楚哪种技术最适合构建实时Web应用程序.
是否可以在chrome开发人员工具控制台中的本地工作区中运行新创建的JavaScript文件?
我想要实现的工作流程如下图所示:
我希望能够在我的工作区中创建一个新文件,运行(或需要或其他)文件,并能够在chrome开发人员控制台中使用它的函数和变量.
如果我是正确的,这意味着在网页的上下文中运行脚本并将方法和变量添加到窗口对象?
他们可以这样做吗?
我正在尝试pdf.js库,只想在我的服务器上显示本地pdf文件,而不是示例提供的pdf文件.
<html>
<body>
<canvas id="the-canvas" style="border:1px solid black"></canvas>
<!-- Use latest PDF.js build from Github -->
<script type="text/javascript" src="https://raw.github.com/mozilla/pdf.js/gh-pages/build/pdf.js"></script>
<script type="text/javascript">
//
// NOTE:
// Modifying the URL below to another server will likely *NOT* work. Because of browser
// security restrictions, we have to use a file server with special headers
// (CORS) - most servers don't support cross-origin browser requests.
//
var url = '/test.pdf';
//
// Disable workers to avoid yet another cross-origin issue (workers need the …
Run Code Online (Sandbox Code Playgroud) 我正在测试我的应用时,我在使用Flask-Admin创建蓝图时遇到了麻烦.
这是我的View类(使用SQLAlchemy)
##
# All views that only admins are allowed to see should inherit from this class.
#
class AuthView(ModelView):
def is_accessible(self):
return current_user.is_admin()
class UserView(AuthView):
column_list = ('name', 'email', 'role_code')
Run Code Online (Sandbox Code Playgroud)
这是我初始化视图的方式:
# flask-admin
admin.add_view(UserView(User, db.session))
admin.init_app(app)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行多个测试(故障总是发生在第二个测试和随后的所有其他测试)时,我总是收到以下错误消息:
======================================================================
ERROR: test_send_email (tests.test_views.TestUser)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/lib/python2.7/site-packages/nose/case.py", line 133, in run
self.runTest(result)
File "/lib/python2.7/site-packages/nose/case.py", line 151, in runTest
test(result)
File "/lib/python2.7/site-packages/flask_testing.py", line 72, in __call__
self._pre_setup()
File "/lib/python2.7/site-packages/flask_testing.py", line 80, in _pre_setup
self.app = self.create_app()
File …
Run Code Online (Sandbox Code Playgroud) 我有以下jQuery函数:
1)提交表格
$(".content").delegate('.entryButton','click', function() {
var form = $(this).closest("form");
var id = form.attr('id');
var text = form.find("textarea").val();
Sijax.request('add_entry', [id, text]);
//Prevent the form from being submitted (default HTML)
return false;
});
Run Code Online (Sandbox Code Playgroud)
2)放大表格并显示输入按钮
$("textarea").focus(function() {
$(this).css('height', '80px');
var button = $(this).parent().next().children();
button.css('visibility', 'visible');
button.css('height', '20px')
});
Run Code Online (Sandbox Code Playgroud)
3)使textarea更小并隐藏按钮
$("textarea").blur(function() {
$(this).css('height', '30px');
var button = $(this).parent().next().children();
button.css('height', '0px')
});
Run Code Online (Sandbox Code Playgroud)
当我尝试输入时会发生这种情况:
我认为这意味着模糊和点击事件相互干扰?
你可以在这里找到问题的小提琴.当您按下按下该按钮的按钮时,它会使该区域模糊但不会输入该区域.当您按下按钮并且字段模糊时,该条目会被提交.
有任何想法吗?
提前致谢!
我正在尝试在Flask中测试我的upload()方法.唯一的问题是Flask 中的FileStorage对象有一个方法save(),python File对象没有.
我像这样创建我的文件:
file = open('documents-test/test.pdf')
Run Code Online (Sandbox Code Playgroud)
但我无法测试我的upload()方法,因为该方法使用save().
有关如何将此File对象转换为Flask Filestorage对象的任何想法?
我正在创建一个分页应用程序,用户可以在同一个窗口中切换页面(页面显示在彼此之下).每当有人更改页面时,我希望窗口滚动右页
这是我的页面指令:
.directive('page', function () {
return {
restrict: "E",
transclude: true,
template: '<div ng-transclude></div>',
link: function(scope, element, attrs) {
/*
* Better in controller, now the function has to be evaluated for every directive.
* */
scope.$on('pageChanged', function(event, page) {
if (parseInt(attrs.number) === page) {
if (page === 1) {
window.scrollTo(100, element[0].offsetTop - 110);
}
else {
window.scrollTo(0, element[0].offsetTop - 60);
}
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
这有效,但现在每个指令都会侦听pageChanged事件并相应地执行操作.我宁愿只在控制器中监听,让控制器将窗口滚动到右侧页面.(这种方式只需要评估一个功能).
$scope.$on('pageChanged', function (event, pageNr) {
$scope.currentPage = pageNr;
/*
* Scroll to …
Run Code Online (Sandbox Code Playgroud) 我无法为scipy.signal.dlsim
方法提供正确的输入.
该方法需要4个状态空间矩阵:
A = np.array([
[0.9056, -0.1908, 0.0348, 0.0880],
[0.0973, 0.8728, 0.4091, -0.0027],
[0.0068, -0.1694, 0.9729, -0.6131],
[-0.0264, 0.0014, 0.1094, 0.6551]
])
B = np.array([
[0, -0.0003, -0.0330, -0.0042, -0.0037],
[0, -0.0005, 0.0513, -0.0869, -0.1812],
[0, 0.0003, -0.0732, 1.1768, -1.1799],
[0, -0.0002, -0.0008, 0.2821, -0.4797]
])
C = np.array([-0.01394, -0.0941, 0.0564, 0.0435])
D = np.array([0, 0.0004, -0.0055, 0.3326, 0.5383])
Run Code Online (Sandbox Code Playgroud)
和我用以下方式构建的输入向量:
inputs = np.array([
data['input1'].values(),
data['input2'].values(),
data['input3'].values(),
data['input4'].values(),
data['input5'].values()
])
Run Code Online (Sandbox Code Playgroud)
这将创建一个带(5x752)
尺寸的输入矩阵(我有752个数据点).所以我采用输入矩阵的转置来预处理我的数据:
inputs = np.transpose(inputs)
Run Code Online (Sandbox Code Playgroud)
输入矩阵现在具有(752x5)
我认为是scipy仿真算法所必需的维度. …
我正在尝试使用Flask框架使jQuery UI自动完成小部件工作.
http://flask.pocoo.org/docs/patterns/jquery/
http://jqueryui.com/autocomplete/#remote
这是我的HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1//EN" "http://w3.org/TR/html4/strict.dtd">
<head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>
<script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
<script type=text/javascript>
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
</script>
<style>
.ui-autocomplete-loading {
background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat;
}
</style>
<script type="text/javascript">
$(function() {
$( "#university" ).autocomplete({
source: $.getJSON($SCRIPT_ROOT + "/_search_university",
{search: $('input[name="university"]').val()}),
minLength: 2,
});
});
</script>
</head>
<body>
<div class="ui-widget">
<label for="university">University: </label>
<input id="university", name="university" />
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
这是我的Flask方法:
@app.route('/_search_university')
def search_university():
search = request.args.get('search')
results = …
Run Code Online (Sandbox Code Playgroud) 我正在使用AngularJS构建一个Web应用程序,并使用Flask框架构建REST-API.
该应用程序由两部分组成:
用户无需登录的部分:他们可以注册,登录,查看功能......
用户必须登录的部分.
为了简单起见,我想在两个角度应用程序中将这两个部分分开,让Flask根据您的登录情况将您引导到正确的应用程序.
我想知道这是否是一个好方法?我认为有了这个,我可以保持身份验证非常简单.
我正在尝试为以下问题找到合适的继承配置:
我的基类是一个Agent类,它有3个抽象方法:
class Agent():
__metaclass__ = abc.ABCMeta
def __init__(self):
@abc.abstractmethod
def bidding_curve(self):
@abc.abstractmethod
def evaluate_bidding_curve(self):
@abc.abstractmethod
def action(self):
Run Code Online (Sandbox Code Playgroud)
可以使用可执行文件(dymo)或使用FMU(C源代码的zip文件)来模拟代理.因此,我创建了两种不同类型的代理,这些代理从基础代理继承并实现与模拟通信的方式.这是dymo仿真环境的实现,但FMU也是如此.
class DymoAgent(Agent):
def __init__(self, power, dymo):
"""
Agent based on the dymosim simulation environment.
@param dymo: The dymo that needs to be run
"""
super(DymoAgent, self).__init__()
self.dymo = dymo
def bidding_curve(self):
pass
def evaluate_bidding_curve(self, priority):
pass
def action(self, priority):
self.dymo.action()
Run Code Online (Sandbox Code Playgroud)
DymoAgent和FMUAgent确定我的代理如何与模拟环境交互.
接下来,我需要代理的实现来确定代理如何与应用程序交互.但是,我希望这种交互独立于模拟环境.例如,我想创建一个可以与Heater应用程序通信的代理,并实现这样做的逻辑.
class Heater(WhatAgentShouldIUseHere):
pass
Run Code Online (Sandbox Code Playgroud)
我希望这个Heater类能够实现Agent基类的抽象方法以及Dymo或FMUAgent的实现,因此它知道如何与模拟进行交互.但我不想用从不同的模拟代理继承的相同逻辑(因此基本相同的代码)编写2个Heater类.我在这张图片中总结了这个问题:
有没有办法使用继承来防止这种情况?
/ Arnout
我正在尝试根据条目的ID对条目列表进行排序.
我试过这段代码,但它不起作用:
entries.sort(cmp=None, key=Entry.id, reverse=False)
Run Code Online (Sandbox Code Playgroud)
列表中的对象是具有id的条目
这是我得到的错误:TypeError:'InstrumentedAttribute'对象不可调用
有任何想法吗?
提前致谢!