我有一个.html文件。我想从我的Django网站访问这样的文件(http://my_site_name.com/somefile.html)。 我不想使用静态文件夹。 感谢
答案 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响应。没有Template
或static folder
,您可以将文件放入任何可以访问的目录中。