0

有谁知道我可以在哪里找到代码的python(AppEngine)端口Facebook Graph object

此处的示例显示了示例代码:

<?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,我需要找到一个 Python 的等价物才能在 Google 的 App Engine 中使用。

有没有人在 Python 中看到过这样的东西?

4

1 回答 1

0

这取决于您使用的框架,但这应该是微不足道的。

使用 Django 模板标签,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 请求,您没有请求 obj 之GET类的属性Django,您需要使用webapp 请求类的各种属性

于 2012-08-06T19:52:41.147 回答