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なので、GoogleのAppEngineで使用するPythonに相当するものを見つける必要があります。

Pythonでこのようなものを見た人はいますか?

4

1 に答える 1

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のような属性はありません。webappリクエストクラスのさまざまなプロパティDjangoを使用する必要があります。

于 2012-08-06T19:52:41.147 に答える