小编fan*_*nly的帖子

使用Flyway根据环境有条件地加载数据

flyway是否支持每个环境的脚本条件执行?

例如,如果我有测试数据,我是否可以创建一个仅在env配置为test时才加载的测试数据脚本文件夹?

flyway

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

运行烧瓶+ gevent +请求不同时"服务"

我这样开瓶我的烧瓶应用程序:

#!flask/bin/python
from app import app_instance
from gevent.pywsgi import WSGIServer

#returns and instance of the application - using function to wrap configuration
app = app_instance()
http_server = WSGIServer(('',5000), app)
http_server.serve_forever()
Run Code Online (Sandbox Code Playgroud)

然后,当我尝试执行此代码时,请求会调用阻塞,直到原始请求超时.我基本上是在同一个烧瓶应用程序中调用web服务.我对gevent的误解是什么?当i/o事件发生时,线程不会产生吗?

@webapp.route("/register", methods=['GET', 'POST'])
def register():
    form = RegistrationForm(request.form, csrf_enabled=False)
    data = None
    if request.method == 'POST' and form.validate():
        data= {'email': form.email, 'auth_token': form.password,
                'name' : form.name, 'auth_provider' : 'APP'}
        r = requests.post('http://localhost:5000', params=data)
        print('status' + str(r.status_code))
        print(r.json())
    return render_template('register.html', form=form)
Run Code Online (Sandbox Code Playgroud)

python io gevent flask

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

Flask登录和Principal - 即使我已经登录,current_user也是匿名的

我正在使用Flask Login和Principal进行身份和角色管理.我的需求直接来自文档.我的代码在这里:

@identity_loaded.connect_via(app)
def on_identity_loaded(sender, identity):
    # Set the identity user object
    identity.user = current_user

    # Add the UserNeed to the identity
    if hasattr(current_user, 'get_id'):
        print 'current_user ' + str(current_user.get_id())
        identity.provides.add(UserNeed(current_user.get_id))

    # Assuming the User model has a list of roles, update the
    # identity with the roles that the user provides
    if hasattr(current_user, 'roles'):
        if current_user.roles:
            for role in current_user.roles:
                identity.provides.add(RoleNeed(role.name))
Run Code Online (Sandbox Code Playgroud)

在我的登录代码中,我这样做:

identity_changed.send(current_app._get_current_object(),
                                  identity=Identity(user.user_id)
Run Code Online (Sandbox Code Playgroud)

登录时,信号按预期触发.在每个后续页面加载时,current_user是匿名的,并且没有用户ID,但所有@login_required函数的行为就像用户登录一样.Flask登录知道用户已登录,但由于某种原因,current_user不一致.

我错过了某处的基本配置点吗?

python flask flask-login flask-principal

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

flask.ext.restful - > reqparse

我正在尝试使用此reqparse在烧瓶应用程序中向我的客户发送有意义的验证.这是代码:

class ParserTest(Resource):

    def get(self):
        parser = reqparse.RequestParser();
        parser.add_argument('not_sent_from_client', type=str, required=True,
                help='This field is required',
                location='form')
        args = parser.parse_args()
        return "ok"

restfulApi.add_resource(ParserTest, '/p')
Run Code Online (Sandbox Code Playgroud)

当我curl -v http://localhost:5000/p 得到这个回复:

* About to connect() to localhost port 5000 (#0)
*   Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 5000 (#0) GET /api/v1/p HTTP/1.1 User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5 Host: localhost:5000 Accept:
*/*

* HTTP 1.0, assume close after body < HTTP/1.0 400 BAD REQUEST < Content-Type: text/html < Content-Length: 192 …
Run Code Online (Sandbox Code Playgroud)

python rest flask

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

Angular指令 - 当另一个指令也作为隔离范围时更新父范围

我编写了一个需要更新父作用域的angular指令.

angular.module('app').directive('googlePlace', function () {
    return {
        restrict: 'A',
        require: 'ngModel',
        link: function ($scope, element, attributes, model) {

              $scope.property1 = 'some val';
              $scope.property2 = 'another val'; 
              $scope.$apply();

    };
});
Run Code Online (Sandbox Code Playgroud)

但在我的控制器中我这样做:

MyCtrl = function($scope){
$scope.doSave = function(){
   // do some logic
   console.log($scope.property1);
   console.log($scope.property2);


}
Run Code Online (Sandbox Code Playgroud)

}

当doSave运行时,我在我的控制台得到未定义的值.如何在不隔离范围的情况下将其应用于父节点范围.我没有此选项,因为同一元素上的另一个指令隔离了作用域.

angularjs angularjs-directive angularjs-scope

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

找不到 Flyway Maven 插件

在我的 pom.xml 中,我有:

 <plugin>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-maven-plugin</artifactId>
    <version>3.1</version>
    <configuration></configuration>
 </plugin>
Run Code Online (Sandbox Code Playgroud)

为了测试插件,我正在做:

mvn flyway:migrate
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

[ERROR] No plugin found for prefix 'flyway' in the current project and in the pl
ugin groups [org.wildfly.plugins, org.flywaydb.plugins, org.apache.maven.plugins
, org.codehaus.mojo] available from the repositories [local (C:\Users\me\.
m2\repository), central (https://repo.maven.apache.org/maven2)] -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

我的 pom 中缺少什么?flyway插件在中央。

maven-plugin maven flyway

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

Spring Boot - 在war文件中设置application.properties的位置

我正在尝试构建一个war文件,该文件知道在弹簧引导application.properties的特定路径中查找.例如,在linux环境中运行时,

我希望我的maven构建一些如何构建该应用程序,以便它知道查看以下位置:

/etc/projects/application.properties
Run Code Online (Sandbox Code Playgroud)

要清楚,我想避免设置系统或命令行属性.我想将文件的位置连接到弹簧,并让应用程序服务器和操作系统不知道spring是如何做到的.这可能吗?

spring spring-boot

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

UITableViewController tableView:cellForRowAtIndexPath返回错误的行

在我的控制器类中,我正在实现表视图数据源委托方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
    NSLog(@"In cell for row at index path %i ", indexPath.row);
    // a bunch of other typical stuff
}
Run Code Online (Sandbox Code Playgroud)

按下按钮,我想修改某个单元格.要获得参考,我这样做:

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
Run Code Online (Sandbox Code Playgroud)

我确实得到了对单元格的引用,但我的日志方法没有执行.就像UITableViewController.tableView有不同的委托一样?当我这样做:

UITableViewCell *cell = [self tableView:self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
Run Code Online (Sandbox Code Playgroud)

它返回一个不同的行(它看起来像一个标题?).这里有一些NSLog来显示正在发生的事情

       NSLog(@"About to send message to tableView:cellForRowAtIndexPath:indexPathForRow:inSection");
        MCSwipeTableViewCell *cell = (MCSwipeTableViewCell *) [self tableView:self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
        MCSwipeTableViewCell *theOtherCell = (MCSwipeTableViewCell *) [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];

        NSLog(@"Here is the call on self %@", cell);
        NSLog(@"Here is the delegate …
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios

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