在学习Python django中遇到静态文件路径找不到的问题
1.一般情况下,用pycharm创建django工程djangotest时,工程目录djangtest会自动添加templates文件夹;即工程目录层级如下图所示
2.templates目录:用于存放静态html模板,工程项目中共用的html文件
django如何识别该目录? 通过settings.py文件设置进行识别。列表TEMPLATES[0]{'DIRS'} 存储templates目录
如何识别该目录(app/views.py怎么识别templates目录下的html文件)
#代码app/views.py中
from django.shortcut import render #引入render模块
defapp(request):
...return render(request,'a.html',locals()) #假设a.html在templates目录下;第二个参数是经过Django封装,找到templates/a.html渲染文件
a.html:django通过settings.TEMPLATES引入的
如何证明上述是django内置引入a.html;利用Template和Context对象
from django.shortcut import HttpResponse
import os,datetime
from django.template import Template,Context
from djangotest import settings
defapp(request):
t=datetime.datetime.now()
path=settings.TEMPLATES[0]{'DIRS'}
path=os.path.join(path,'a.html')
fs=open(path,'r')
data=fs.read()
temp=Template(data)
c=Context({'time':t})
h=temp.render(c)
return HttpResponse(h)
该代码与上述代码利用rende函数返回的结果一样;说明render的文件模板是在templates目录下的a.html文件
3.static目录:存放css和js静态文件
前端代码用别名/static/代替绝对路径
4.conda config --set auto_activate_base false