网站开发网上教学,外贸 网站 源码,视频直播开发平台,做网站 智域大连模板变量#xff0c;过滤器和静态文件引用 模板路径 Djiango先到settings里面找templates下的DIRS查看是否有路径#xff0c;也是从上往下依次寻找#xff0c;找到就返回。如果DIRS没有#xff0c;就到APP_DIRS里面寻找。但是APP要先在INSTALLED_APPS里面进行注册然后根据I…模板变量过滤器和静态文件引用 模板路径 Djiango先到settings里面找templates下的DIRS查看是否有路径也是从上往下依次寻找找到就返回。如果DIRS没有就到APP_DIRS里面寻找。但是APP要先在INSTALLED_APPS里面进行注册然后根据INSTALLED_APPS里面从上往下顺序依次寻找。模板变量 动态页面随时间改变会改变相应数据内容等并不是JS就是动态页面静态页面反之语法{{变量名}}变量名命名规则和py变量一样但是却不能以下划线_开头注意避免关键字。例如编写显示时间 from datetime import datetimedef index(request):now datetime.now()return render(request,teacher/index.html,context{now : now})#HTML
p当前时间是{{now}}/p
#注意俩个大括号里面的now对应的是context里的key的now 此时显示的时间并不是北京时间要进行修改。 到项目目录下的settings里面最下面的TIME_ZONE UTC进行修改 改为TIME_ZONE Asia/Shanghai 不要问我为什么不是Beijing改成Beijing会报错毕竟上海比较有名吧估计是历史原因 修改之后 关于模板变量的解析 列表list lt [0,1,2]return render(request,teacher/index.html,context{lt:lt})#HTML
p传递的列表是{{ lt }}/p
p列表下标是1的元素是{{ lt.1 }}/p说明 传递列表的时候获取某个元素要使用list_name.索引的形式进行获取 结果如图 字典dt {name : 小明,age : 1}return render(request,teacher/index.html,context{dt:dt})#HTML
p传递的字典是{{ dt }}/p
p传递的字典[name]是{{ dt.name }}/p说明同样是通过dt_name.key的形式获取某个value 结果如图 函数 def func():return Hello worldreturn render(request,teacher/index.html,context{func:func})#HTML
p传递的func是{{ func }}/p说明 函数不能设置有参数只能设置无参数函数。因为在解析的时候解析的是变量名而变量名是不可以携带变量的。 结果如图 变量解析规则 当模板引擎遇到了变量时会计算该变量并以结果替换之当模板引擎遇到了变量时按照以下顺序尝试查找 字典键值查找属性或方法查找数字索引查找如果结果是一个可调用的callabled则调用他结果为模板变量的值解释 如果ret 11的时候解析出来的结果会用2代替11字典.方法名会解析出来方法的返回值但是如果字典里面含有和方法重名的key的时候会按照顺序解析为所对应的value调用函数常用的过滤器 现在先介绍内置过滤器自定义以后聊 过滤器 语法{{fruits|lower}}作用: 对变量进行过滤。在真正渲染出来之前过滤器会根据功能处理好变量然后得出结果后再替换掉原来的变量展示出来。管道符号进行链式调用比如实现一个功能先把所有字符变成小写把第一个字符转换成大写。{{fruits|lower|capfirst|..|..}使用参数:过滤器可以使用参数在过滤器名称后面使用冒号”:”再加上参数比如要把一个字符串中所有的空格去掉则可以使用cut过滤器,{{fruits|cut: }}语法{{变量名|过滤器}} 例如 时间的{{name|dateD d M Y}}列表的 name|add数字name|first/lastname|slicenumnum注意不要习惯性在冒号俩边加上空格会报错 常用的过滤器: date和time过滤器格式: 静态文件的引用 路径设置 静态文件由内建APPdjango.contrib.staticfiles管理调试用到实际使用不会用到 django.contrib.staticfiles这个app被包含在INSTALL_APPS中 配置语法 #setting.py
STATICFILES_DIRS []步骤 在项目根目录下创建一个static注意要分APP文件夹写入STATIC_URL /static/(默认就有)在settings最下面加入STATICFILES_DIRS [os.path.join(BASE_DIR,static)]静态文件引用 {% load static %}#写在模板顶部#导入的时候
src {% static app_name/img/name.jpg %}
如此类推 转载于:https://www.cnblogs.com/pygive/p/10607779.html