小编Dav*_*ill的帖子

如何让谷歌应用引擎发送邮件 - 不要将邮件的副本发送给发件人

我正在使用GAE发送邮件 - 但我不希望邮件的发件人得到邮件的傻瓜.至于现在,当用户发送邮件时,他收到一封邮件,说他向某人和发送邮件的正文发送邮件,我该如何禁用?

python google-app-engine sendmail

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

数据存储区和应用程序版本如何在GAE/J上运行

可以在GAE/J上部署同一应用程序的多个版本,但是GAE/J如何处理不同版本可以使用不同数据存储(以及可能不兼容)的方案的事实?

例:

假设在我的应用程序的第1版中我有一个POJO(为了简单起见,我省略了几个细节):

public class User {

  private String key;

  private String username;

  private Integer phoneNumber;

}
Run Code Online (Sandbox Code Playgroud)

现在假设我想在版本2上使用:

public class User {

  private String key;

  private String username;

  // on this version, replaced 'phoneNumber' by: 
  private String eMail;

}
Run Code Online (Sandbox Code Playgroud)

现在有两个问题:

  1. 如果我部署两个版本的GAE/J,我会在数据存储中看到什么模式?

  2. 那数据本身呢?如果我在版本2上添加用户,我会在版本1的数据存储上看到它的数据吗?

java google-app-engine google-cloud-datastore

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

将二进制文件存储在GAE/J + Google DataStore上

我正在使用Java(GAE/J)在Google AppEngine上构建应用程序,我的所有数据都将存储在Google DataStore中.现在,如果我想保存一些二进制文件,让我们说图像(JPG,PNG等),DOC,TXT,视频文件如何处理这些?或者,如果我想流式传输视频文件(SWF)我应该在哪里以及如何存储这些文件,当我重新部署我的应用程序时,我不会丢失任何数据.

google-app-engine binaryfiles google-cloud-datastore

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

谷歌DataStore无主的一对多关系

所以,我正在使用谷歌数据存储区为我的GWT应用程序,我的同事想出了一个有趣的问题,我没有答案.删除某些对象时,该组键会发生什么变化?

例如,

Person.java

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Person {
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id;

    @Persistent
    private Set<Key> favoriteFoods;

    // ...
}
Run Code Online (Sandbox Code Playgroud)

如果我从数据存储中删除一些favoriteFood对象会发生什么?该对象的密钥是否保留在密钥集中?我有责任从套装中取出钥匙吗?

java gwt google-app-engine google-cloud-datastore

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

如何将数据从本地appengine数据存储区移动到远程数据存储区?

我可以看到如何将远程数据存储区下载到本地,以及如何将CSV上传到远程应用程序引擎服务器,如下所示:

上传和下载数据

但有没有办法将我的本地数据导出到为远程上传脚本做好准备的CSV?当然我可以写一个自定义导出器,但是没有办法自动化这个过程吗?

python google-app-engine google-cloud-datastore

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

如何从具有ListProperty的Model创建Form

我目前正在使用带有Google App Engine的Django表单,我有一个模型如下:

class Menu(db.Model):
    name = db.StringProperty(required=True)
    is_special = db.BooleanProperty()
    menu_items =  db.ListProperty(MenuItem)
Run Code Online (Sandbox Code Playgroud)

我有一个MenuForm,如下所示:

class MenuForm(djangoforms.ModelForm):
    class Meta:
        model = Menu
        exclude = ['added_by','menu_items']
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我收到以下错误:

Exception Type:     ValueError
Exception Value:    Item type MenuItem is not acceptable
Run Code Online (Sandbox Code Playgroud)

我想创建表单并省略menu_items属性,因为我不认为有多个选项的内置控件,如一组复选框.无论哪种方式,我无法理解排除项目中的此属性为什么它会抛出此错误.

TIA

安德鲁

python django google-app-engine

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

DateTimeProperty在Google App Engine中将错误设置为日期时间

我正在撰写的一些Google App Engine代码出现了一个奇怪的错误.

我的程序包含一些这样的代码:

import datetime

...

class Action(db.Model):
    visibleDate = db.DateTimeProperty()

...

getActionQuery = Action.gql("WHERE user = :user AND __key__ = :key", user = user, key = self.request.get("key"))
theAction = getActionQuery.get()

....

theAction.visibleDate = datetime.datetime.strptime(self.request.get("visibleDate"), "%Y/%m/%d")
Run Code Online (Sandbox Code Playgroud)

然而,这会产生以下错误:

Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 509, in __call__
    handler.post(*groups)
  File "/Users/redbird/Developer/betterdo-it/main.py", line 132, in post
    theAction.visibleDate = datetime.datetime.strptime(self.request.get("visibleDate"), "%Y/%m/%d"),
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/db/__init__.py", line 472, in __set__
    value = self.validate(value)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/db/__init__.py", line 2308, in validate
    (self.name, self.data_type.__name__))
BadValueError: Property visibleDate …

python google-app-engine datetime google-cloud-datastore

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

Django ModelForm:为字段添加别名

我有一个(GoogleAppEngine)Django ModelForm:

class A(db.Model):
  a = db.StringProperty()

class MyAForm(djangoforms.ModelForm):
  class Meta:
    model = A
Run Code Online (Sandbox Code Playgroud)

这将创建一个具有一个字符串字段的表单a.在我的表格中,我想称之为别的,比方说b.所以我想要一个带有字段b的表单,当表单被POST时,我们创建一个新的A实体,其a属性填充-value b.

有没有一个简洁的方法来做这个管道?

(ps我不想改变底层模型)

python django google-app-engine django-forms

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

App Engine数据存储区 - devserver限制

我正在尝试测试Google App Engine数据存储区数据库的效率.我想知道查询大型数据集的速度有多快.从大到大,我的意思是5-10mil同类的实体.

devserver只允许我输入1000个相同类型的实体.有没有办法达到这个限制?谢谢

google-app-engine google-cloud-datastore

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

您如何在Google App Engine中自动取消引用db.ReferenceProperty?

假设我有

class Foo(db.Model):

  bar = db.ReferenceProperty(Bar)

foo = Foo.all().get()
Run Code Online (Sandbox Code Playgroud)

有没有办法让我在没有查询数据存储的情况下执行foo.bar?该文档说foo.bar会的一个实例Key,所以我希望能够做的foo.bar.id()和能够得到idBar是与相关的foo,但它似乎并没有这样的.

PS:我所指的文档部分可以在这里找到:

http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#ReferenceProperty

它说:

"应用程序可以显式地db.get()ReferenceProperty(它是一个Key)的值来测试引用的实体是否存在."

python google-app-engine google-cloud-datastore

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