如何从django项目的根目录访问文件

时间:2018-05-02 08:43:12

标签: python django

我有一个.html文件。我想从我的Django网站访问这样的文件(http://my_site_name.com/somefile.html)。 我不想使用静态文件夹。 感谢

2 个答案:

答案 0 :(得分:1)

您不能这样做,您应该使用网址和视图投放,或直接使用TemplateView

from django.views.generic import TemplateView

urlpatterns = [
     (r'^somefile/$', TemplateView.as_view(template_name='somefile.html')),
]

答案 1 :(得分:1)

如果您真的不想使用静态文件夹,为什么不将此文件绑定到view函数,将其视为模板,并为其编写路由?您可以使用TemplateView

来实现此目的

如果您不想触摸模板,还有另一种解决方案。

from django.contrib import admin
from django.urls import path
from django.http import HttpResponse
from django.conf import settings


def staticView(request):
    with open(settings.BASE_DIR+"/a.html") as fp:
        return HttpResponse(fp.read())

urlpatterns = [
    path('admin/', admin.site.urls),
    path('a.html',staticView)
]

如您所见,上面的代码只是读取一个html文件,并使用文件内容进行HTTP响应。没有Templatestatic folder,您可以将文件放入任何可以访问的目录中。