Pyramid文档向我们展示了如何使用i18n内部视图(以及模板).但是如何在我们无法访问当前的视图和模板之外使用它request(例如,in forms和models)?
@Michael说要传递request给模特和表格.但这是对的吗?我的意思是如果表单字段在__init__()方法调用之前定义,则与模型相同.他们没有从视图中看到任何参数......
在Pylons中,我们可以简单地在父控制器中使用get_lang()和set_lang()定义优选语言,然后在任何我们想要的地方使用ugettext()和ungettext()不request直接在每个可能的时间(在视图中)调用它.
如何在金字塔中做到这一点?请注意,必须根据用户的设置(会话,cookie,数据库等)设置语言.
我有facebook应用程序状态Live and available to all users.当我通过我的网站上的这个应用程序登录时,我得到access_token了我的Facebook用户.通过此access_token,我可以使用Ads API阅读下一种方法(针对我自己的广告系列):
/我/ adaccounts
/ act_ <AD_ACCOUNT_ID>/agroups
但是,当别人在我的网站登录(并确认所有权限),我得到他/她我的access_token不能执行第二API调用.我收到此错误(#10)您没有足够的权限来执行此操作.但我可以获得帐户ID.所以,第一种方法有效,第二种方法无效 如何解决这个问题?
App details选项卡中的应用程序状态为Unapproved(浅蓝色圆圈).
PPS将该用户添加到应用程序的开发人员后,第二种方法(adcampaigns)就可以了.
<script>
$(function() {
$( "#tabs" ).tabs({
ajaxOptions: {
error: function( xhr, status, index, anchor ) {
$( anchor.hash ).html("Couldn't load this tab.");
}
}
});
});
</script>
<div class="demo">
<div id="tabs">
<ul>
<li><a href="#tabs-1">Preloaded</a></li>
<li><a href="ajax/content1.html">Tab 1</a></li>
<li><a href="ajax/content2.html">Tab 2</a></li>
</ul>
<div id="tabs-1">
<p>Proin elit arcu, rutrum commodo.</p>
</div>
Run Code Online (Sandbox Code Playgroud)
在这种情况下如何发送带有帖子数据的ajax请求(可能通过ajaxOptions).
我不知道如何修改标签网址以发送帖子数据,例如:
<li><a href="ajax/content1.html(country:1,city:35)">Tab 1</a></li>
<li><a href="ajax/content2.html(code:'aa')">Tab 1</a></li>
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑:
在jQuery中它是:
$.load("some_url",{country: countryValue});
Run Code Online (Sandbox Code Playgroud)
所以我有帖子标题(国家)和帖子值(countryValue).如何对每个标签做同样的事情?
在视图中:
model = Model('some_title', 'some text')
session.add(model)
return HTTPFound(location='/ads/%s/%s' % (model.id, model.title))
Run Code Online (Sandbox Code Playgroud)
因此,它必须将我重定向到/ads/1/some_title(如果id = 1),而是将其重定向到/ads/None/some_title.
如何id在此特定示例中创建db行之后获取此行?
谢谢!
我有这样的变量:var1,var2,var3,var4,var 5,...,var100(列表和字典在我的情况下不合适,因为所有这些变量都是类对象).
我必须以类似的方式处理所有这些,例如:
if var1:
print 'var1 is not None'
if var2:
print 'var2 is not None'
if var3:
print 'var3 is not None'
...
if var100:
print 'var100 is not None'
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我将编写200百行代码......
但也许有一些方法可以在for声明中处理所有这些,例如:
for i in range(1,101):
if var%s % i: #I know this is not right, but idea is understood
print 'var%s is not None' % i
Run Code Online (Sandbox Code Playgroud)
所以我只会写3行代码.
是否有可能在Python中做到?
谢谢!
我查看了文档,并没有看到(从一见钟情)金字塔中的缓存.也许我错过了一些东西......或者也许有一些第三方软件包来帮助解决这个问题.
例如,如何缓存db查询(SQLAlchemy),如何缓存视图?任何人都可以提供一些示例或文档的链接吗?
感谢任何帮助!
编辑:
如何使用memcache或数据库类型缓存或基于文件的缓存?
它显示UnicodeError: 'utf8' codec can't decode byte 0x82 in position 0: unexpected code byte
这是代码:
from Crypto.Cipher import AES
import simplejson as json
key = '0123456789abcdef'
mode = AES.MODE_CBC
encryptor = AES.new(key, mode)
text = '1010101010101010'
json.dumps(encryptor.encrypt(text))
Run Code Online (Sandbox Code Playgroud)
如何避免这个错误?
提前致谢!
我与所有国家/地区有三种语言的桌子:英语、俄语和乌克兰语。对于前两种语言,排序是可以的。但对乌克兰国家的名称排序就不行了。
\n\n前两个位置上有两个字母'\xd1\x94'(ABC 中的第 8 个位置)和'\xd1\x96'(ABC 中的第 12 个位置),所有接下来的字母都排序良好。
如何防止这种行为?DB编码为utf-8。
\n当我试图将嵌套字典返回到Mako模板时,它用HTML代码替换单引号'(我在浏览器的源代码中看到它).
在视图中:
@view_config(route_name='main', renderer='myproj:templates/main.mako')
def main_view(request):
info = {'name': 'Some', 'age': 20}
return {'info': info, 'country': 'Ukraine'}
Run Code Online (Sandbox Code Playgroud)
在Mako:
<script type="text/javascript">func(${info})</script>
Run Code Online (Sandbox Code Playgroud)
在浏览器的源代码中:
<script type="text/javascript">func({'name': 'Some', 'age': 20})</script>
Run Code Online (Sandbox Code Playgroud)
如何避免这种逃避?(renderer='json'不是变种,因为我需要Mako中的字典)
我是说这种情况.页面加载时($(document).ready状态前):
$("head").append("<title>Some title here</title>");
Run Code Online (Sandbox Code Playgroud)
那么,他们看到了title吗?很有意思.
提前致谢!
python ×6
pyramid ×4
jquery ×2
sqlalchemy ×2
babel ×1
django ×1
facebook ×1
javascript ×1
jquery-ui ×1
postgresql ×1
pycrypto ×1
seo ×1
sorting ×1