有没有人知道我可以找到python
Facebook Graph
代码的object
(AppEngine)端口的任何地方?
示例here显示示例代码:
<?php
function curPageURL() {
$pageURL = 'http://';
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
<html>
<head prefix="og: http://ogp.me/ns# product: http://ogp.me/ns/product#">
<meta property="fb:app_id" content="<?php echo strip_tags($_REQUEST['fb:app_id']);?>">
<meta property="og:url" content="<?php echo strip_tags(curPageURL());?>">
<meta property="og:type" content="<?php echo strip_tags($_REQUEST['og:type']);?>">
<meta property="og:title" content="<?php echo strip_tags($_REQUEST['og:title']);?>">
<meta property="og:image" content="<?php echo strip_tags($_REQUEST['og:image']);?>">
<meta property="og:description" content="<?php echo strip_tags($_REQUEST['og:description']);?>">
<title>Product Name</title>
</head>
<body>
<?php echo strip_tags($_REQUEST['body']);?>
</body>
</html>
但当然因为这是PHP,我需要在Google的App Engine中找到Python的等价物。
有没有人在Python中看到过这样的内容?
答案 0 :(得分:0)
这取决于您使用的框架,但这应该是微不足道的。
使用Django templatetag,get
:
@register.filter(name='get')
def get(o, index):
try:
return o[index]
except:
return settings.TEMPLATE_STRING_IF_INVALID
在Django中,假设您在上下文中有请求:
<html>
<head prefix="og: http://ogp.me/ns# product: http://ogp.me/ns/product#">
<meta property="fb:app_id" content="{{ request.GET|get:"og:type" }}">
<meta property="og:url" content="{{ request.get_full_path }}">
...
<title>Product Name</title>
</head>
<body>
{{ request.body }} <!-- {{ request.raw_post_data }} if Django < 1.4 -->
</body>
</html>
使用webapp请求,您没有像GET
请求obj那样的Django
attr,您需要使用the various properties of the webapp request class。