小编spi*_*dee的帖子

需要Google App Engine国际化帮助(Python)

有任何关于如何在app engine/webapp/python中使用国际化的建议.我看过一些帖子re-django - 翻译支持,但我似乎找不到足够的信息如何让它工作.

我需要的是一个解决方案

  1. 浏览器可以检测语言
  2. 用户可以覆盖和设置
  3. 模板和代码中的字符串可以进行本地化
  4. 轻松编辑文件以支持语言.

我是app引擎的新手,所以需要一些易于理解的指针/代码帮助

不止于此

python google-app-engine internationalization

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

python:将字典序列化为简单的html输出

使用app引擎 - 是的我知道所有关于django模板和其他模板引擎.

让我说我有一个字典或一个简单的对象,我不知道它的结构,我想将其序列化为HTML.

所以,如果我有

{'data':{'id':1,'title':'home','address':{'street':'some road','city':'anycity','postal':'somepostal'}}}
Run Code Online (Sandbox Code Playgroud)

我想要的是使用列表或表格以某种形式呈现的可读html;

data:
   id:1
   title:home
   address:
           street: some road
           city: anycity
           postal:somepostal
Run Code Online (Sandbox Code Playgroud)

现在我知道我能做到

for key in dict.items
print dict[key]
Run Code Online (Sandbox Code Playgroud)

但是,当键/值是字典时 - 即地址字典,它不会深入到子值并列出每个键,值对.

他们的python模块是轻量级/快速的,可以很好地完成这项工作.或者任何人都有任何他们可以粘贴的简单代码可能会这样做.

解决 方案这里的所有解决方案都很有 pprint无疑是打印字典的更稳定的方法,尽管它没有返回任何接近html的东西.虽然仍然可以打印.

我现在最终得到了这个:

def printitems(dictObj, indent=0):
    p=[]
    p.append('<ul>\n')
    for k,v in dictObj.iteritems():
        if isinstance(v, dict):
            p.append('<li>'+ k+ ':')
            p.append(printitems(v))
            p.append('</li>')
        else:
            p.append('<li>'+ k+ ':'+ v+ '</li>')
    p.append('</ul>\n')
    return '\n'.join(p)
Run Code Online (Sandbox Code Playgroud)

它将dict转换为无序列表,现在可以了.一些css,也许一点调整应该使它可读.

我将奖励写下上述代码的人的答案,我做了一些小的改动,因为无序列表没有嵌套.我希望所有人都同意所提供的许多解决方案都证明是有用的,但上面的代码呈现了字典的真正html表示,即使是粗糙的.

python

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

python hex hmac md5的密码与javascript不匹配

我有一个 javascript 密码编码器

md5 = hex_hmac_md5(秘密,密码)

我如何在 python 中模拟这个 - 我试过 md5 但这不是相同的值

我从这个网站得到了我的 md5 javascript 代码:

帕杰斯之家

(md5.js)

他说用途如下:

在散列的许多用途中,您最终希望将一个键与一些数据结合起来。通过简单的串联来做到这一点还不错,但 HMAC 是专门为此用途设计的。用法是:

hash = hex_hmac_md5("key", "data");

HMAC 结果也可用 base-64 编码或作为二进制字符串,使用 b64_hmac_* 或 str_hmac_*。

其他一些哈希库有相反的参数。如果 JavaScript HMAC 与您的服务器库生成的值不匹配,请尝试交换顺序。

我试过一些这样的python:

> def md5_test(secret, password):
>     
>     return md5(secret+password).hexdigest()
Run Code Online (Sandbox Code Playgroud)

谁能告诉我python中的代码应该是什么才能获得相同的值?

谢谢

python

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