小编rya*_*yan的帖子

如何将JS变量的值(而不是引用)传递给函数?

这是我正在尝试运行的简化版本:

for (var i = 0; i < results.length; i++) {
    marker = results[i];
    google.maps.event.addListener(marker, 'click', function() { 
        change_selection(i);
    }); 
}
Run Code Online (Sandbox Code Playgroud)

但我发现每个监听器都使用results.length的值(for循环终止时的值).我如何添加监听器,使得每次使用i时我添加它的值,而不是对i的引用?

javascript closures listener pass-by-reference pass-by-value

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

如何使用正则表达式找到最短的重叠匹配?

我对正则表达式还是比较新的.我正在尝试找到与特定模式匹配的最短文本字符串,但如果最短模式是较大匹配的子字符串,则会遇到问题.例如:

import re
string = "A|B|A|B|C|D|E|F|G"
my_pattern = 'a.*?b.*?c'

my_regex = re.compile(my_pattern, re.DOTALL|re.IGNORECASE)
matches = my_regex.findall(string)

for match in matches:
    print match
Run Code Online (Sandbox Code Playgroud)

打印:

A|B|A|B|C
Run Code Online (Sandbox Code Playgroud)

但是我希望它能回归:

A|B|C
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,而不必遍历每个匹配,看它是否包含匹配的子字符串?

python regex

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

如何计算存储在Google App Engine中的实体的大小?

有没有一种简单的方法来计算存储在App Engine中的实体的大小?我想知道一个特定实体与实体大小达到1 MB上限的接近程度.

google-app-engine

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

在Google App Engine中,如何在两个相互引用的实体之间使用引用属性?

如果我有两种类型的模型,每种模型互相引用,那么我首先尝试定义的模型说它不能识别引用的其他类型(因为它在文件中进一步定义).例如:

class Author(db.Model):
    most_recent_book = db.ReferenceProperty(Book)

class Book(db.Model):
    author = db.ReferenceProperty(Author)
Run Code Online (Sandbox Code Playgroud)

这将声称无法识别引用的"Book"模型.如果我翻转订单,我会遇到同样的问题(除非它会说"作者"无法识别).我该如何解决这个问题?

google-app-engine referenceproperty

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

Blobstore图像在Google App Engine开发服务器上消失

我在我的网站上使用App Engine的高性能图像服务,并且我能够在我的本地机器和生产中正常工作,即我可以上传图像并使用blob键上的get_serving_url成功显示图像.但是,这些图像似乎不会在我的开发服务器上持续存在,即在我从计算机重新启动后返回时,图像不再显示.开发服务器吐出:

images_service_pb.ImagesServiceError.BAD_IMAGE_DATA

我猜它实际上是因为潜在的斑点不再存在(虽然这只是一种预感).我的数据存储的其余部分仍然完好无损,因为我正在使用启动设置"--datastore_path"来确保我的数据仍然存在.是否有一个单独的标志我需要用来持久保存blob?或者这里有一个我错过的单独问题?

google-app-engine image blobstore

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

如何在Django中创建请求对象?

所以我将Django与Google App Engine一起使用,我有一个urls.py文件,可以将每个网址重定向到相应的方法.这些方法中的每一个都自动传递"request"作为参数之一,我认为这是一个HttpRequest对象.

如何在我的代码中创建这个填充的请求对象?例如,如果我在我的代码深处的某个方法中,我想访问此请求对象,而不必将其传递给每个函数以确保它可用.假设urls.py调用方法foo,我现在的方式是:

foo(request):
    # stuff here
    bar(request)
     # more stuff here

bar(request):
     # stuff here<stuff>
    baz(request)
     # more stuff here

baz(request):
    do something with request here
Run Code Online (Sandbox Code Playgroud)

这似乎是错误的,因为我不得不通过不需要它的函数传递请求,以便我可以在baz中使用它.

我想做点什么:

foo(request):
     # stuff here
    bar()
    # more stuff here

bar():
     # stuff here
    baz()
     # more stuff here

baz():
    request = HttpRequest()
    do something with request here
Run Code Online (Sandbox Code Playgroud)

即如果我不需要,则不会传递请求.但是,执行request = HttpRequest()会返回一个空的请求对象...我想要的是一个完全填充的版本,就像从urls.py调用的每个方法传递的那样.

我在这里浏览了HttpRequest的文档:http: //docs.djangoproject.com/en/dev/ref/request-response/ 但是没有看到这样做的方法.

任何想法将不胜感激.

谢谢,瑞恩

django google-app-engine request httprequest

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

谷歌地图v3 InfoWindow太宽

在谷歌地图v3中,我似乎无法将我的infoWindow的宽度小于200px.这是我正在使用的代码:

var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
    zoom: 15,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
var myMap = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var gmarker = new google.maps.Marker({position: latLng,title:'Example'} );
var infoWindow = new google.maps.InfoWindow();
infoWindow.setOptions({maxWidth: 110});
window_content = '<div style="width:110px;height:110px;">Test</div>';
infoWindow.setContent(window_content);
infoWindow.open(myMap, gmarker);
Run Code Online (Sandbox Code Playgroud)

有没有办法让infoWindow更窄?还是我坚持最小宽度?

google-maps infowindow google-maps-api-3

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

我可以同时运行的异步urlfetch调用的数量是否有限制?

我注意到Java实现中对urlfetch的同步异步调用似乎有限制(如下所示:http://code.google.com/appengine/docs/java/urlfetch/overview.html)

但不是在python文档中:

http://code.google.com/appengine/docs/python/urlfetch/asynchronousrequests.html

那么async urlfetch的python版本的上限是10还是没有记录(或在其他地方记录)?或者是其他限制(或不存在)?

python google-app-engine urlfetch

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

如何设置网页表单以支持移动 Safari 中的 iOS 8 信用卡扫描?

iOS 8 的一项功能是能够使用手机的摄像头扫描信用卡并将号码自动输入到 Safari 的输入中。看这里: http //www.cnet.com/how-to/scan-your-credit-card-instead-of-keying-in-number-for-purchases-in-ios-8/

然而,虽然我已经确认它适用于 amazon.com 的移动网站,但它不适用于较小的零售商。这些零售商需要做什么才能让它在他们的网站上运行?

ocr safari credit-card mobile-safari ios8

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

如何在Mac OS X中的.app中选择文件?

我正在尝试在eclipse中配置PyDev,作为其中的一部分,我正在尝试将一些源文件夹添加到PYTHONPATH的外部库部分.但是,当我在eclipse中单击"添加源文件夹"时,它不会让我钻进任何.app目录.通常,在常规Finder中,我会右键单击并选择"显示包内容",但是通过Eclipse中的"添加源文件夹",所有.apps都显示为灰色,我无法右键单击它们.关于我如何通过这个的任何想法?具体来说,我希望深入研究GoogleAppEngineLauncher.app.我仍然是Macs的新手,所以我猜(希望?)解决方案对你们中的一个人来说很简单明了.

谢谢

eclipse macos google-app-engine pydev

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

当我通过GoogleAppEngineLauncher部署代码时,是否会上传所有文件?

因此,目前GoogleAppEngineLauncher指向包含我的app.yaml文件的目录,以及其他几个目录 - 假设它们是目录A,B和C.如果A和B包含应用程序使用的python文件,模板文件等,但目录C不包含任何代码(它只是一个包含随机内容的misc目录),在部署代码时它是否仍会上传?

这是我的app.yaml文件:

application: myapp
version: 1
runtime: python
api_version: 1

handlers:
- url: /stylesheet
  static_dir: stylesheet

- url: /images
  static_dir: images

- url: /.*
  script: main.py
Run Code Online (Sandbox Code Playgroud)

deployment google-app-engine

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

错误时不会重新尝试App Engine任务

在我的本地开发环境中,当已添加到任务队列的App Engine任务遇到错误时,将重试该任务直到成功.但是,在生产环境中,它不是.我认为正在发生的是,因为我在urls.py中有一个自定义500处理程序,所有错误都被此捕获并且500错误从未冒泡到顶部.

这实际上可能是我的任务没有被重试的原因吗?如果是这样,有没有办法防止这种情况发生?我只希望处理程序500视图捕获错误,如果请求是用户生成的,而不是后端任务(对于那些,我希望错误冒泡并强制重试).

google-app-engine task task-queue

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

有没有办法覆盖blobstore中的现有Blob

我正在使用App Engine中的高性能图像服务功能来提供blobstore中的图像.但是,我希望用户能够修改这些图像(例如旋转,裁剪等),然后将这些更改写回blobstore,覆盖原始blob.我知道我可以写入blobstore中的新blob,如下所示:http://code.google.com/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore

但我没有看到覆盖现有blob的方法.这在App Engine中是否可行?

我的用例如下:

  1. 用户上传图片,应用引擎通过get_serving_url生成链接
  2. 然后,用户可以在我的应用程序之外使用该链接,例如在他们的博客上链接到该链接以显示图像
  3. 如果稍后在我的应用程序(旋转等)中更改了该图像,我希望他们的图像链接能够反映这些更改

google-app-engine image blobstore

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