2010-12-29 14 views
4

私たちのGAEアプリケーションでdjango 1.2のテンプレートを含むための詳細なリソースは誰にでも提案できますか?これまでのところ私は、Djangoのファイルをzip圧縮し、GAで私たちのプロジェクトに1.0と1.1のライブラリを含めて約 Google App EngineプロジェクトでDjango 1.2テンプレートを使用するにはどうすればよいですか?

  • ドキュメントをネイティブDjangoのプロジェクトを実行する上で私たちのプロジェクトへ
  • ドキュメントをそれらを追加する方法を説明し

    1. ドキュメントを発見しました

    しかし、私たちのプロジェクトでdjango 1.2テンプレートを使用する方法はまだ説明されていません。具体的には、どのように私のPythonスクリプトの最上位に秘密のウィザードを策定し、GAEに魔法のようにzipされたdjangoライブラリを使用させるかを説得する方法。

    私はPythonスクリプトでこれを持っている:

    import sys 
    sys.path.insert(0, 'django/django.zip') 
    

    そして、GAEのチュートリアルと同様に、ここで私はテンプレートをレンダリングしています方法は次のとおりです。

    template_values = { 
        'formerror': formerror, 
        'media': media, 
        'status': status 
    } 
    
    path = os.path.join(os.path.dirname(__file__), formtemplate) 
    self.response.out.write(template.render(path, template_values) 
    

    しかし、GAEのために不足しているいくつかの作品がありますDjango 1.2を使ってテンプレートをレンダリングします。それは何ですか?

  • +0

    あなたが正しく理解している場合、GoogleのWebアプリケーションフレームワークを使用してアプリケーションを作成したいが、Django 1.2テンプレートを使用する。上記の試みはどのように失敗するのですか?上記の「1.0および1.1ライブラリを含むドキュメント」に従うとどうなりますか?この記事は、あなたが試して失敗したリソースの1つですか? http://code.google.com/appengine/articles/django-nonrel.html –

    答えて

    3

    私はこれを使用:私はバージョン1.1を使用するが、私はそれが1.2のために同じように機能するべきだと思います。この場合

    from google.appengine.dist import use_library 
    use_library('django', '1.1') 
    from google.appengine.ext.webapp import template 
    

    を。

    0

    以前は同じ問題がありました。私は0.96ではなく(GAEによって提供される)テンプレート用にバージョン1.2のバージョンを使用したかったのです。次のコードは私のために働くようです。

    # some standard Google App Engine imports (optional) 
    import wsgiref.handlers 
    from google.appengine.ext import webapp 
    from google.appengine.ext import db 
    
    # Remove Django modules (0.96) from namespace 
    for k in [k for k in sys.modules if k.startswith('django')]: 
        del sys.modules[k] 
    
    # Force sys.path to have our own directory first, in case we want to import 
    # from it. This way, when we import Django, the interpreter will first search 
    # for it in our directory. 
    sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) 
    
    # Must set this env var *before* importing any part of Django 
    # (that's required in Django documentation) 
    os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' 
    
    # New Django imports 
    from django.template.loader import render_to_string 
    from django.conf import settings 
    
    # Configure dir with templates 
    # our template dir is: /templates 
    TEMPLATE_DIR = os.path.join(os.path.dirname(__file__),'templates') 
    settings.configure(TEMPLATE_DIRS = (TEMPLATE_DIR,'')) 
    

    しかし、あなたはだけジャンゴからテンプレート、およびなし他のAPIが必要な場合は、代わりにJinjaを使用することを検討してください。それが私がやろうとしていることです。

    関連する問題