小编Bil*_* G.的帖子

如何使用Python而不是浏览器将jinja2输出渲染为文件

我有一个我要渲染的jinja2模板(.html文件)(用我的py文件中的值替换标记).但是,我想将其写入新的.html文件,而不是将渲染结果发送到浏览器.我认为django模板的解决方案也类似.

我怎样才能做到这一点?

python django jinja2

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

如何在Python for循环中获取GAE ndb中当前记录的密钥?

我目前有一个网页,其中显示了带有编辑链接的数据存储区中的记录列表.我想从db转换它.到ndb.我是Python和GAE新手.

当前代码=

  <tbody>
    {% for listtype in listtypes %}
    <tr>
      <td> {{ listtype.ListTypeName }} </td>
      <td><a href ="/listtypes/edit/{{ listtype.key().id() }}">edit </a></td>
    </tr>
    {% endfor %}    
  </tbody>
Run Code Online (Sandbox Code Playgroud)

然后在.py方面,我有:

def post(self, listtype_id):
    iden = int(listtype_id)
    listtypes = db.get(db.Key.from_path('ListTypes', iden))
    listtypes.ListTypeName = self.request.get('ListTypeName')
    listtypes.put()
Run Code Online (Sandbox Code Playgroud)

我通过复制别人的代码来实现这些目标,但它有效.我需要知道代码使用ndb的代码是什么样的.(我对模型和include语句没问题,我只需要知道如何在jinja2模板中检索密钥以及如何在post函数中使用它.

请提供实际代码应该与ndb一起使用的内容.

提前致谢.

python google-app-engine app-engine-ndb

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

如何绕过Google App Engine中几个公共页面所需的登录?

我有一个大约有一百页的Google App Engine Web应用程序.我需要将对这5个页面中的所有页面的访问权限限制为登录的用户.

我知道在app.yaml文件中我可以添加:

- url: .*
  script: main.app
  login: required
Run Code Online (Sandbox Code Playgroud)

但这需要登录所有页面.

有没有办法指定不需要,像这样(我是GAE和Python的新手):

- url: /public/.*
  script: main.app
  login: not required
Run Code Online (Sandbox Code Playgroud)

或者是为受限制页面的每个引用添加级别的唯一方法(对受限制页面的数百个引用).就像是:

- url: /restricted/.*
  script: main.app
  login: required

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

如果这是唯一的方法,两者仍然可以指向相同的main.app?

处理这个问题的最佳方法是什么?

谢谢你的帮助.

google-app-engine

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

是否可以在Google App Engine数据存储区中拥有多值字段?

我希望有一个类似于博客的GAE-Python数据存储类,我希望有一个类别或标签的字段,其中可以有给定博客实例的多个标签.我是一名GAE/Python新手,我正在努力寻找一种能够为单个实例分配多个类别的方法.

例如

class MyModel(db.Model):
    category = db.CategoryProperty()
Run Code Online (Sandbox Code Playgroud)

我如何修改它以为MyModel实例启用多个类别?

如果可以,那么检索单个类别值的实例的查询是什么样的?

这个字段的多个值"put"会是什么样的?

在此先感谢任何建议或链接,我可以找到适用的文件..

python google-app-engine google-cloud-datastore

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