小编Jon*_*Cox的帖子

使用Flask for Python获取访问者的IP地址

我正在创建一个用户可以登录和下载文件的网站,使用Flask微框架(基于Werkzeug),它使用Python(在我的情况下为2.6).

我需要在用户登录时获取用户的IP地址(用于记录目的).有谁知道如何做到这一点?当然有一种方法可以用Python做到这一点?

python ip-address werkzeug flask

199
推荐指数
9
解决办法
14万
查看次数

如何在Storyboard中的UITableView中添加页脚

我是iOS开发的新手.

我想在一个表格视图中添加一个页脚UITableViewController.我已经在Storyboard中以图形方式使用了作为页脚的视图,但是我无法弄清楚如何将其作为页脚连接到我的表视图.

我可以以编程方式添加脚注UITableViewControllerviewDidLoad通过分配方法self.tableView.tableFooterView.但是我在Storyboard中创建了我的页脚视图,将它作为页脚添加到我的表视图的最佳实践方法是什么?

storyboard uitableview ios ios5

92
推荐指数
3
解决办法
5万
查看次数

在MKMapView中围绕用户位置绘制一个1000米半径的圆

(使用iOS 5和Xcode 4.2)

我有一个MKMapView,想在用户位置周围绘制一个1000米半径的圆.

从表面上看,似乎实现mapView:viewForAnnotation: map view delegate方法,并为用户位置添加自定义MKAnnotationView,将是一个完美的解决方案.它看起来像这样:

- (MKAnnotationView *)mapView:(MKMapView *)mapView
            viewForAnnotation:(id <MKAnnotation>)annotation
{
    // If it's the user location, return my custom MKAnnotationView.
    if ([annotation isKindOfClass:[MKUserLocation class]]) {
        return myCustomAnnotationView;
    } else {
        return nil;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当您放大和缩小地图时,地图上的注释不会缩放.

所以我尝试添加叠加层(因为叠加层与地图一起缩放),使用MKCircle类并将其坐标设置为来自locationManger/map视图委托的最新坐标.但是由于MKCircle 的坐标属性是readonly,我不得不删除叠加层,然后每次用户移动时添加一个新叠加层.当它发生时引起明显的闪烁.

当地图视图缩小和缩小时,有没有办法无缝地制作注释比例?或者是否有一种很好的方法可以使叠加层随着用户位置的变化无缝移动?

我非常感谢你的帮助:)

mkmapview mkannotationview ios mkoverlay ios5

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

如何删除Mercurial存储库

我意外地将Mercurial存储库放在了错误的位置.我该如何删除它?这是在Linux中.

linux mercurial

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

将MKCoordinateRegion转换为MKMapRect

我的应用程序中有一个方形MKMapView,我希望设置一个中心点和视图的确切高度/宽度(以米为单位).

创建MKCoordinateRegion并将地图设置为它(如此代码中所示...

MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(center_coord, 1000.0, 1000.0);
[self.mapView setRegion:region animated:YES];
Run Code Online (Sandbox Code Playgroud)

..)无法正常工作,因为在这里使用区域只意味着至少显示该区域,通常比区域更多.


我打算使用setVisibleMapRect:animated:方法,因为我相信这会缩放到实际传递的MKMapRect.

那么,有一种简单的方法可以在MKcoordinateRegion和MKMapRect之间进行转换吗?也许获得该区域的左上角和右下角坐标,并使用它们来制作MKMapRect?

我在Map Kit函数参考中看不到任何方便的东西.

(使用iOS 5,Xcode 4.2)

mkcoordinateregion mkmapview ios mkmaprect

36
推荐指数
5
解决办法
3万
查看次数

在Xcode 4.5中设置translatesAutoresizingMaskIntoConstraints的位置

我需要设置translatesAutoresizingMaskIntoConstraintsNO.默认情况下,它设置为YES(以协助大多数从struts和spring转换到新的Auto Layout的应用程序).

Xcode中有哪些地方可以将默认值更改YESNO

或者我是否必须为每个视图手动设置它?

xcode ios autolayout ios6 xcode4.5

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

Firebase - 删除并重新安装应用程序不会取消对用户进行身份验证

使用以下代码对用户进行身份验证后(下面是我的代码的修剪版本,因此只显示成功的登录逻辑)...

let firebaseReference = Firebase(url: "https://MY-FIREBASE.firebaseio.com")
Run Code Online (Sandbox Code Playgroud)

 

FBSession.openActiveSessionWithReadPermissions(["public_profile", "user_friends"], allowLoginUI: true,
    completionHandler: { session, state, error in

        if state == FBSessionState.Open {
            let accessToken = session.accessTokenData.accessToken
            firebaseReference.authWithOAuthProvider("facebook", token: accessToken,
                withCompletionBlock: { error, authData in

                    if error != nil {
                        // Login failed.
                    } else {
                        // Logged in!
                        println("Logged in! \(authData)")
                    }
            })
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

(即启动并运行应用程序,成功登录).

如果您随后删除了应用程序并在同一设备上重新安装,则此调用(我在应用程序委托中使用以确定用户是否已登录)将始终返回他们已登录的状态.

if firebaseReference.authData == nil {
    // Not logged in
} else {
    // Logged in
}
Run Code Online (Sandbox Code Playgroud)

这是为什么?我本来以为删除应用程序并重新安装它应该擦除所有数据.

如果您重置iOS模拟器中的内容和设置,并安装该应用程序,该firebaseReference.authData属性将再次nil.

ios firebase swift

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

SQLite的.除了last_insert_rowid()之外,如何在Insert之后获取Auto Increment Primary Key的值?

我正在使用Sqlite3和Flask微框架,但这个问题仅涉及Sqlite方面的事情..

以下是代码片段:

g.db.execute('INSERT INTO downloads (name, owner, mimetype) VALUES (?, ?, ?)', [name, owner, mimetype])
file_entry = query_db('SELECT last_insert_rowid()')
g.db.commit()
Run Code Online (Sandbox Code Playgroud)

downloads表有另一列,具有以下属性: id integer primary key autoincrement,

如果两个人同时写,上面的代码可能会产生错误.

交易可能很乱.在Sqlite中有一个简洁的内置方式来返回执行INSERT后生成的主键吗?

python sqlite flask

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

Flask/Werkzeug,登录后如何返回上一页

我正在使用基于Werkzeug的Flask微框架,它使用Python.

在每个受限制的页面之前有一个装饰器,以确保用户登录,如果他们没有登录,当前将它们返回到登录页面,如下所示:

# Decorator
def logged_in(f):
    @wraps(f)
    def decorated_function(*args, **kwargs):
        try:
            if not session['logged_in']:
                flash('Please log in first...', 'error')
                return redirect(url_for('login'))
            else:
                return f(*args, **kwargs)
        except KeyError:
            flash('Please log in first...', 'error')
            return redirect(url_for('login'))
    return decorated_function


# Login function
@app.route('/', methods=['GET', 'POST'])
def login():
    """Login page."""
    if request.method=='POST':
    ### Checks database, etc. ###
    return render_template('login.jinja2')


# Example 'restricted' page
@app.route('/download_file')
@logged_in
def download_file():
    """Function used to send files for download to user."""
    fileid = request.args.get('id', 0)
    ### ... ###
Run Code Online (Sandbox Code Playgroud)

登录后,需要将用户返回到将其带到登录页面的页面.它还需要保留诸如传递的变量之类的东西(即整个链接基本上都是www.example.com/download_file?id=3) …

python login werkzeug flask

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

为新项目添加了Fabric/Crashlytics但未上传dSYM

我刚刚使用Xcode 7 beta-4创建了一个新的iOS Swift项目,并将Crashlytics(现在是Fabric的一部分)与常规流程集成在一起.

它集成了所有精细,我可以模拟崩溃等.

但是,当我访问Crashlytics仪表板时,它警告我:

缺少dSYM

我们错过了一个dSYM来处理崩溃,在这里上传!

并没有出现任何崩溃事件.

单击警告消息(这里提到的链接:http: //docs.fabric.io/ios/crashlytics/crashlytics.html#troubleshooting)给我一个列表UUIDs Crashlytics缺少dSYMs.

该页面提供了上传dSYM的选项,我尝试过这个选项(从/ Users/me/Library/Developer/Xcode/DerivedData/MyApp-xxxxxxxxxxxxxxxxxxxxxxxxxxxx/Build/Products/Debug-iphoneos获取).但是,这样做后,这并不能解决问题.

我尝试从CocoaPods获取框架而不是手动添加它们,以防有所作为.它没有.

-

所以我唯一想到的可能是Crashlytics不处理Xcode 7 beta产生的dSYM?还是有一些基本的东西我忽略了?

非常感谢您的帮助!

-

更新:

在与Crashlytics团队发来许多来回电子邮件之后,他们发现这个特殊问题是由beta Xcode 7版本中的一个版本引起的.Crashlytics的解决方案被推出,从那时起它就起作用了.

如果您遇到类似的问题,我建议您首先确保您使用的是Xcode的发布版本,以及最新版本的Crashlytics :)

xcode ios crashlytics swift twitter-fabric

21
推荐指数
2
解决办法
5207
查看次数