我想打开一个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),
)
答案 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')