如何在Django平台中打开模板

时间:2011-11-25 07:49:31

标签: python django

我想打开一个html文件,即map.html,它保存在我保存此views.py和urls.py的相同目录中。 (基于django的平台)

我为views.py编写了这个示例代码(以加载map.html),但它无效:

 from django.template import Template, Context,RequestContext 
 from django.http import HttpResponse
 import datetime

 def router_map(request):
     fp = open('./map.html')
     t = Template(fp.read())
     fp.close()
     html = t.render(Context({'router_map'}))
     return HttpResponse(html)

和我的urls.py是:

 from django.conf.urls.defaults import * 
 from umit.views import router_map

 urlpatterns = patterns('',
     (r'^index/$', router_map),
 )

1 个答案:

答案 0 :(得分:1)

我认为问题是您使用路径'./map.html'。这意味着Python将尝试查找程序的当前目录,而不是视图文件所在的目录。

让我们说Django项目位于/home/foo/myproject目录中。如果您cd到该目录并运行python manager.py runserver,则应用程序内的当前目录(即目录.)将为/home/foo/myproject,这不是您想要的。< / p>

解决此问题的最简单方法是在调用open时使用文件的完整路径:

fp = open('/home/foo/myproject/myapp/views/map.html')