小编dua*_*uan的帖子

Flask sqlalchemy多对多插入数据

我试图在Flask-SQLAlchemy中建立多对多关系,但似乎我不知道如何填充"多对多标识符数据库".你能帮我理解我做错了什么以及应该怎么看?

class User(db.Model):
    __tablename__ = 'users'
    user_id = db.Column(db.Integer, primary_key=True)
    user_fistName = db.Column(db.String(64))
    user_lastName = db.Column(db.String(64))
    user_email = db.Column(db.String(128), unique=True)


class Class(db.Model):
    __tablename__ = 'classes'
    class_id = db.Column(db.Integer, primary_key=True)
    class_name = db.Column(db.String(128), unique=True)
Run Code Online (Sandbox Code Playgroud)

然后我的标识符数据库:

student_identifier = db.Table('student_identifier',
    db.Column('class_id', db.Integer, db.ForeignKey('classes.class_id')),
    db.Column('user_id', db.Integer, db.ForeignKey('users.user_id'))
)
Run Code Online (Sandbox Code Playgroud)

到目前为止,当我尝试将数据插入数据库时​​,它看起来像这样.

# User
user1 = User(
            user_fistName='John',
            user_lastName='Doe',
            user_email='john@doe.es')

user2 = User(
            user_fistName='Jack',
            user_lastName='Doe',
            user_email='jack@doe.es')

user3 = User(
            user_fistName='Jane',
            user_lastName='Doe',
            user_email='jane@doe.es')

db.session.add_all([user1, user2, user3])
db.session.commit()

# Class
cl1 = Class(class_name='0A')
cl2 = …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask flask-sqlalchemy

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

如何隐藏Firefox窗口(Selenium WebDriver)?

当我同时执行多个测试时,我不想让Firefox浏览器窗口保持可见..我可以使用它来最小化它,selenium.minimizeWindow()但我不想这样做.

有没有办法隐藏Firefox窗口?我正在使用FireFox WebDriver.

python firefox selenium webdriver

43
推荐指数
7
解决办法
8万
查看次数

在Swift中将bytes/Uint8数组转换为Int

如何将4字节数组转换为相应的Int?

let array: [UInt8] ==> let value : Int
Run Code Online (Sandbox Code Playgroud)

例:

输入:

\0\0\0\x0e
Run Code Online (Sandbox Code Playgroud)

输出:

14
Run Code Online (Sandbox Code Playgroud)

我在互联网上找到的一些代码不起作用:

let data = NSData(bytes: array, length: 4)
data.getBytes(&size, length: 4)
// the output to size is 184549376
Run Code Online (Sandbox Code Playgroud)

arrays int byte swift

23
推荐指数
6
解决办法
3万
查看次数

在swift中使用SHA512哈希字符串

任何人都知道如何在swift中重现PHP哈希方法哈希('SHA512',$ value,true)?我尝试使用此代码使用CommonCrypto C库:

extension String {
    func digest(length:Int32, gen:(data: UnsafePointer<Void>, len: CC_LONG, md: UnsafeMutablePointer<UInt8>) -> UnsafeMutablePointer<UInt8>) -> String {
        var cStr = [UInt8](self.utf8)
        var result = [UInt8](count:Int(length), repeatedValue:0)
        gen(data: &cStr, len: CC_LONG(cStr.count), md: &result)
        let output = NSMutableString(capacity:Int(length))
        for r in result {
            output.appendFormat("%02x", r)
        }
        return String(output)
    }
}
Run Code Online (Sandbox Code Playgroud)

并像这样使用它:

var digest = salted.digest(CC_SHA512_DIGEST_LENGTH, gen: {(data, len, md) in CC_SHA512(data,len,md)})
Run Code Online (Sandbox Code Playgroud)

但我没有得到正确的输出

编辑:

我有一些PHP代码:

echo base64_encode(hash('sha512', '8yOrBmkd', true)); // output: rlltLWeWaQCrfNTYMa0CcIs0mfLoHGAynrd+d8H65+rGAzHS/BSWsumwSmcxF9aAG9TIzXx+HOjArPyLL3herg==
Run Code Online (Sandbox Code Playgroud)

我希望我的快速代码能够输出相同的代码.Base64编码没问题:

let utf8str = input.dataUsingEncoding(NSUTF8StringEncoding)!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
                let base64Encoded = …
Run Code Online (Sandbox Code Playgroud)

hash encoding sha512 swift

8
推荐指数
3
解决办法
6640
查看次数

如何获得两个CGPath的交集?

我正在使用CAShapeLayer.pathCALayer.mask设置图像蒙版,我可以CGPath通过设置实现"差异设置"和"联合"效果

maskLayer.fillRule = kCAFillRuleEvenOdd/kCAFillRuleZero
Run Code Online (Sandbox Code Playgroud)

但是,我怎样才能得到两条路径的交集?我甚至不能用奇怪的规则来实现它

这是一个例子: 在此输入图像描述

let view = UIImageView(frame: CGRectMake(0, 0, 400, 400))
view.image = UIImage(named: "scene.jpg")
let maskLayer = CAShapeLayer()
let maskPath = CGPathCreateMutable()    
CGPathAddEllipseInRect(maskPath, nil, CGRectOffset(CGRectInset(view.bounds, 50, 50), 50, 0))
CGPathAddEllipseInRect(maskPath, nil, CGRectOffset(CGRectInset(view.bounds, 50, 50), -50, 0))
maskLayer.path = maskPath
maskLayer.fillRule = kCAFillRuleEvenOdd
maskLayer.path = maskPath
view.layer.mask = maskLayer
Run Code Online (Sandbox Code Playgroud)

我怎样才能显示中间交叉区域?

core-animation core-graphics ios swift

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

流星铁路由器布局渲染

我们已经实现了一个布局,其中主要内容位于动态侧边栏中.我们定义如下layoutTemplate:

<template name="layout">
  {{> content}}

  {{> leftbar}}

  {{> rightbar}}

  <nav class="navigation">
      {{#if currentUser}}
          {{> navigation_logged_in}}
      {{else}}
          {{> navigation_logged_out}}
      {{/if}}
  </nav>
</template>
Run Code Online (Sandbox Code Playgroud)

我们在布局模板中包含例如右栏模板.

<template name="rightbar">
  <aside class="rightbar">
      <button id="closeRightBar" class="close-cross"></button>

      {{yield 'rightbar'}}
  </aside>
</template>
Run Code Online (Sandbox Code Playgroud)

右栏模板包括右栏收益率,我们将特定内容输入到该栏中.

我们已经实现了以下RouteController:

UserShowRouter = RouteController.extend({

  before: function() {
      var username = this.params.username;
      if(App.subs.user) {
          App.subs.user.stop();
      }
      App.subs.user = Meteor.subscribe('user', username);
  },

  waitOn: function () {
    return Meteor.subscribe('user');
  },

  data: function() {
      return Meteor.users.findOne({'profile.username': this.params.username});
  },

  action: function() {
      this.render('profile', {to: 'rightbar'});
  }

});
Run Code Online (Sandbox Code Playgroud)

我们想要实现的是,例如,profile …

node.js meteor meteorite iron-router

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

如何在Swift中调用[self new]

这是一个UIView用ObjectiveC编写的扩展,可以轻松创建使用自动布局的视图:

+(id)autolayoutView
{
    UIView *view = [self new];
    view.translatesAutoresizingMaskIntoConstraints = NO;
    return view;
}
Run Code Online (Sandbox Code Playgroud)

它调用[self new]所以UIView的任何子类都可以使用此方法.我怎样才能在Swift中实现这一目标?

objective-c uiview swift

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

当用户在Meteor和/或Iron路由器中离开页面时如何捕获?

用户离开我的Meteor应用程序(版本1.2.0.2)时,我试图捕获; 等同于SocketIO disconnect()服务器端的东西.

用户可以关闭他的浏览器,转到另一个网站或只是刷新页面,无论如何它都会触发

令人惊讶的是,我在互联网上搜索,一切都混乱,没有任何正常工作.我认为Meteor实际上是基于这种神奇的实时处理,所以它必须以某种方式管理这个事件.

Iron路由器文档指定:

onStop:路由停止时调用,通常在新路由运行之前.

我也找到了Router.load,Router.unload但没有一个能奏效.这是我目前[不工作]的代码,非常简单

Router.configure
  layoutTemplate: 'MasterLayout'
  loadingTemplate: 'Loading'
  notFoundTemplate: 'NotFound'

Router.onStop (->

  console.log('Try to stop')
  Users.insert({

    name: "This is a test"
    lat: 0
    lng: 0

    })

)
Run Code Online (Sandbox Code Playgroud)

我在这里做错了吗?你如何在我的应用程序中捕获此事件?

node.js meteor iron-router

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

RxSwift替换应该ChangeCharactersInRange

我想将UITextfield与RxSwift一起使用。我的目标是让用户键盘/不输入字符和复制粘贴删除角色,我需要处理的UITextField的委托“shouldChangeCharactersInRange”与RxSwift

如何用RxSwift实现?

我正在使用版本4的RxSwift。情况1:来自键盘的输入:A123来自RxSwift的进程:接受123(不允许数字键盘)输出:123

情况2:从联系人处输入表单复制粘贴:\ U202d1111111111 \ U202c从RxSwift处理:删除所有控制字符,接受1111111111输出:1111111111

如果总的来说,我们可以使用shouldChangeCharactersInRange,但是如何与RxSwift一起使用呢?

ios swift rx-swift

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

如何在Iron Python脚本中加载可移植的.NET库?

从Python脚本加载可移植的.NET库(在标准的.NET和Silverlight环境中使用)时遇到了严重的麻烦.

.NET DLL文件版本为4.0.3.319.233(System.Core.DLL),IronPython为2.7.1,以32bit/x86模式运行.在.NET 4下使用C#的Visual Studio 2010 4.还安装了用于可移植库使用的Microsoft .NET更新KB2468871(版本2).

如果我尝试从Python脚本加载库:

clr.AddReferenceToFileAndPath(UsedPath+"\\MyNamespace\\MyPortableLibrary.dll")
Run Code Online (Sandbox Code Playgroud)

无法访问它,当脚本到达某个类型时,它会说: 'namespace#'的属性[可移植程序集中的类型]是只读的" 表示程序集尚未加载(或者作为Silverlight,并且不能被Python脚本使用).

将代码更改为:(来自System.Reflection的程序集类)

PortableAssembly = Assembly.LoadFrom(UsedPath+"\\MyNamespace\\MyPortableLibrary.dll") # load through .NET Reflection, Python won't load Portable assembly properly!
clr.AddReference(PortableAssembly)
Run Code Online (Sandbox Code Playgroud)

导致错误: exceptions.IOError出现消息:[Errno 2]无法加载文件或程序集'System.Core,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e,Retargetable = Yes'或其依赖项之一.该系统找不到指定的文件.

最后一个代码似乎有效,当从另一个.NET程序中自动调用Python脚本,实例化它自己的Python引擎时,但是当从Visual Studio中的Python项目执行脚本时会出现上述错误.VisualStudio中的Python设置,Tools\Options\Python Tools\Interpreter选项适用于x86/32位模式.所有环境参数都显示使用了.NET 4.

我现在有多种方法可以从C#/ .NET生成的Python引擎中修复它,但是如何在基本的IronPython运行时环境中加载可移植组件,以便它在正确的.NET 4环境中工作,而不是尝试加载任何.NET 2的东西?

更新:我在MS KB2468871更新后重新启动并重建了我的可移植库,并且还为VS卸载了IronPython和Python工具,将其替换为版本2.7.3和1.5(VS2010)."System.Core,Version = 2.0.5.0"的错误仍然存​​在.

.net python portable-class-library

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