我在views.py
中有这个def read_file(request):
f = open('path/text.txt', 'r')
file_contents = f.read()
print (file_contents)
f.close()
return render(request, "index.html", context)
Urls.py:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^impala/$', views.people, name='impala'),
]
我在网站上看不到任何内容(text.txt文件有信息)。 我没有在nohup中看到任何打印输出。 没有错误
答案 0 :(得分:5)
如果您read_file
中的views.py
功能将urls.py
调整为:
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^test/$', views.read_file, name='test'),
url(r'^impala/$', views.people, name='impala'),
]
修复基于功能的视图:
from django.http import HttpResponse
def read_file(request):
f = open('path/text.txt', 'r')
file_content = f.read()
f.close()
return HttpResponse(file_content, content_type="text/plain")
启动开发服务器并访问localhost:port/test
。您应该看到test.txt
。
如果您要将文本文件的内容传递给template.html
,请将其添加到context
变量,并使用{{ file_content }}
在模板中访问该文件。
def read_file(request):
f = open('path/text.txt', 'r')
file_content = f.read()
f.close()
context = {'file_content': file_content}
return render(request, "index.html", context)
请注意,出于性能原因,nginx
或apache
等网络服务器通常会负责提供静态文件。
答案 1 :(得分:0)
您可以将文件内容作为字符串传递给html模板
def read_file(request):
f = open('path/text.txt', 'r')
file_contents = f.read()
f.close()
args = {'result' : file_contents }
return render(request, "index.html", context, args)
#######################index.html
<HTML>
...
<BODY>
<P>{{ result }} </p>
</BODY>
</HTML>