如何从Google App Engine中的Django 1.1导入render_to_response方法?

时间:2009-11-15 19:04:37

标签: python django google-app-engine

我是一个Python新手,所以我很确定这很容易。这是我的main.py中的代码:

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

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

# Use django form library.
from django import forms
from django.shortcuts import render_to_response

最后一行打破了ImportError。如果我不包含它,那么我会收到“render_to_response”不可用的错误。我做错了什么?

2 个答案:

答案 0 :(得分:2)

好吧,render_to_response is a shortcut for this,请尝试一下:

from django.template import Context, loader
from django.http import HttpResponse

def render_to_response(tmpl, data):
    t = loader.get_template(tmpl)
    c = Context(data)
    return HttpResponse(t.render(c))

render_to_response("templates/index.html", {"foo": "bar"})

答案 1 :(得分:0)

在这种情况下,问题最终是Google App引擎使用了Django的0.96版,它实际上找不到'重定向'方法,因为那只是在Django 1.1中。如果您使用GAE实用程序方法'use_library',您可以指定要使用的Django框架的版本,这个问题就会消失。