随笔分类 -  Django

摘要:加载静态文件: 在一个网页中,不仅仅只有一个 html 骨架,还需要 css 样式文件, js 执行文件以及一些图片等。因此在 DTL 中加载静态文件是一个必须要解决的问题。在 DTL 中,使用 static 标签来加载静态文件。要使用 static 标签,首先需要 {% load static % 阅读全文
posted @ 2019-12-24 14:36 小明911 阅读(174) 评论(0) 推荐(0)
摘要:模版结构优化之继承详解: 在前端页面开发中。有些代码是需要重复使用的。这种情况可以使用 include 标签来实现。也可以使用另外一个比较强大的方式来实现,那就是模版继承。模版继承类似于 Python 中的类,在父类中可以先定义好一些变量和方法,然后在子类中实现。模版继承也可以在父模版中先定义好一些 阅读全文
posted @ 2019-12-24 14:35 小明911 阅读(174) 评论(0) 推荐(0)
摘要:引入模版: 有时候一些代码是在许多模版中都用到的。如果我们每次都重复的去拷贝代码那肯定不符合项目的规范。一般我们可以把这些重复性的代码抽取出来,就类似于Python中的函数一样,以后想要使用这些代码的时候,就通过 include 包含进来。这个标签就是 include 。示例代码如下: # head 阅读全文
posted @ 2019-12-24 14:34 小明911 阅读(308) 评论(0) 推荐(0)
摘要:自定义时间计算过滤器: 有时候经常会在朋友圈、微博中可以看到一条信息发表的时间,并不是具体的时间,而是距离现在多久。比如 刚刚 , 1分钟前 等。这个功能 DTL 是没有内置这样的过滤器的,因此我们可以自定义一个这样的过滤器。 需求: time距离现在的时间间隔1. 如果时间间隔小于1分钟以内,那么 阅读全文
posted @ 2019-12-24 14:33 小明911 阅读(178) 评论(0) 推荐(0)
摘要:Django再牛逼,也不可能满足所有需求,所以自定过滤器成了刚需!!! 自定义过滤器步骤: 1、在某个APP中,创建一个名叫:templatetags 包(这个包名必须是:templatetags ,不然django找不到); 2、在templatetags中创建一个py文件——写自己的过滤器(即: 阅读全文
posted @ 2019-12-24 14:32 小明911 阅读(175) 评论(0) 推荐(0)
摘要:slice过滤器: 类似于 Python 中的切片操作。示例代码如下: {{ some_list|slice:"2:" }} 以上代码将会给 some_list 从 2 开始做切片操作。 stringtags过滤器: 删除字符串中所有的 html 标签。示例代码如下: {{ value|stript 阅读全文
posted @ 2019-12-24 14:31 小明911 阅读(152) 评论(0) 推荐(0)
摘要:join过滤器: 类似与 Python 中的 join ,将列表/元组/字符串用指定的字符进行拼接。示例代码如下: {{ value|join:"/" }} 如果 value 是等于 ['a','b','c'] ,那么以上代码将输出 a/b/c 。 length过滤器: 获取一个列表/元组/字符串/ 阅读全文
posted @ 2019-12-24 14:30 小明911 阅读(111) 评论(0) 推荐(0)
摘要:default过滤器: 如果值被评估为 False 。比如 [] , "" , None , {} 等这些在 if 判断中为 False 的值,都会使用 default 过滤器提供的默认值。示例代码如下:{{ value|default:"nothing" }}如果 value 是等于一个空的字符串 阅读全文
posted @ 2019-12-24 14:28 小明911 阅读(142) 评论(0) 推荐(0)
摘要:date过滤器: date过滤器:将一个日期按照指定的格式,格式化成字符串。示例代码如下: views.py: from datetime import datetime def cur_date(request): cur_time = datetime.now() return render(r 阅读全文
posted @ 2019-12-24 14:27 小明911 阅读(167) 评论(0) 推荐(0)
摘要:为什么需要过滤器: 在DTL中,不支持函数的调用形式‘()’,因此不能给函数传递参数,这将有很大的局限性;而过滤器其实就是一个函数,可以对需要处理的参数进行处理,并且还可以额外接受一个参数(也就是说:最多两个参数); add过滤器: 将传进来的参数添加到原来的值上面。这个过滤器会尝试将 值 和 参数 阅读全文
posted @ 2019-12-24 14:26 小明911 阅读(185) 评论(0) 推荐(0)
摘要:verbatim 标签: verbatim 标签:默认在 DTL 模板中是会去解析那些特殊字符的。比如 {% 和 %} 以及 {{ 等。如果你在某个代码片段中不想使用 DTL 的解析引擎。那么你可以把这个代码片段放在 verbatim 标签中。示例代码下: {% verbatim %} {{ Hel 阅读全文
posted @ 2019-12-24 14:18 小明911 阅读(201) 评论(0) 推荐(0)
摘要:1、spaceless 标签: spaceless 标签:移除html标签中的空白字符。包括空格、tab键、换行等。示例代码如下: {% spaceless %} <p> <a href="foo/">Foo</a> </p> {% endspaceless %} 那么在渲染完成后,会变成以下的代码 阅读全文
posted @ 2019-12-24 14:17 小明911 阅读(144) 评论(0) 推荐(0)
摘要:url标签使用详解: 在模版中,我们经常要写一些 url ,比如某个 a 标签中需要定义 href 属性。当然如果通过硬编码的方式直接将这个 url 写死在里面也是可以的。但是这样对于以后项目维护可能不是一件好事。因此建议使用这种反转的方式来实现,类似于 django 中的 reverse 一样。示 阅读全文
posted @ 2019-12-24 14:16 小明911 阅读(514) 评论(0) 推荐(0)
摘要:with标签使用详解: 1、在模板中享用使用变量,可以通过 with 语句实现; 2、with 有两种用法,具体情况如下 ( 包括注意事项 ) : index.html: <p>with第一种用法:</p> {% with name as ni %} <p>{{ ni }}</p> {% endwi 阅读全文
posted @ 2019-12-24 14:13 小明911 阅读(183) 评论(0) 推荐(0)
摘要:for标签使用详解: for...in... 标签: for...in... 类似于 Python 中的 for...in... 。可以遍历列表、元组、字符串、字典等一切可以遍历的对象。示例代码如下: {% for person in persons %} <p>{{ person.name }}< 阅读全文
posted @ 2019-12-24 14:11 小明911 阅读(363) 评论(0) 推荐(0)
摘要:if标签使用详解: if 标签: if 标签相当于 Python 中的 if 语句,有 elif 和 else 相对应,但是所有的标签都需要用标签符号 {% %} 进行包裹。 if 标签中可以使用 ==、!=、<、<=、>、>=、in、notin、is、is not 等判断运算符。示例代码如下: 一 阅读全文
posted @ 2019-12-24 14:06 小明911 阅读(538) 评论(0) 推荐(0)
摘要:模版变量使用: 模板中可以包含变量, Django 在渲染模板的时候,可以传递变量对应的值过去进行替换。变量的命名规范和 Python 非常类似,只能是阿拉伯数字和英文字符以及下划线的组合,不能出现标点符号等特殊字符。变量需要通过视图函数渲染,视图函数在使用 render(或 render_to_s 阅读全文
posted @ 2019-12-24 14:05 小明911 阅读(235) 评论(0) 推荐(0)
摘要:模版查找路径配置: 在项目的 settings.py 文件中。有一个 TEMPLATES 配置,这个配置包含了模板引擎的配置,模板查找路径的配置,模板上下文的配置等。模板路径可以在两个地方配置。 1、DIRS :这是一个列表,在这个列表中可以存放所有的模板路径,以后在视图中使用 render (或r 阅读全文
posted @ 2019-12-24 14:04 小明911 阅读(153) 评论(0) 推荐(0)
摘要:模板 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面大多是带有样式的HTML代码,这可以让浏览器渲染出非常漂亮的页面。目前市面上有非常多的模板系统,其中最知名最好用的就是DTL和Jinja2。 DTL 是 Django Template Language 阅读全文
posted @ 2019-12-24 14:03 小明911 阅读(182) 评论(0) 推荐(0)
摘要:默认参数的使用: 废话不多说直接上截图吧, 第一步:写两个视图,一个无参,一个有参; 第二步: 阅读全文
posted @ 2019-12-24 14:02 小明911 阅读(145) 评论(0) 推荐(0)