如何在Google App Engine中导入Django 1.1的render_to_response方法?
我刚开始学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 个回答
2
好吧,render_to_response
是一个简化的写法,能让你更方便地完成这件事,所以你可以试试这个:
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"})
0
在这个情况下,问题是因为Google App Engine使用的是Django的0.96版本,而这个版本找不到'redirect'这个方法,因为这个方法只在Django 1.1版本中有。如果你使用GAE提供的'用库'这个方法,你可以指定想用哪个版本的Django框架,这样问题就解决了。