首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pug入门

是一种通过缩进(表示标签间的嵌套关系)的方式来编写代码的过程,在编译的过程,不需要考虑标签是否闭合的问题。可以加快写代码速度,也为代码复用提供了便捷。...优点: 1、无需结束标签 2、强制缩进 3、代码复用维护 4、标签写法与CSS相同 搭建pug环境: 1、下载node.js npm  2、下载 pug , 命令:npm install pug-cli...'; a(href='/' + url) 链接 | | - url = 'https://example.com/' a(href=url) 另一个链接 等价于--> 链接 另一个链接 布尔属性: input(type='checkbox' checked) | | input(type...#main-link 等价于--> 考虑到使用 div 作为标签名这种行为实在是太常见了,所以如果您省略掉标签名称的话,它就是默认: #content

1.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

高阶应用-分页

page()传递的是一个无效的页码时抛出 PageNotAnInteger:当向page()传递的不是一个整数时抛出 EmptyPage:当向page()传递一个有效,但是该页面时没有数据时抛出 二、...Page对象 创建对象 Paginator对象的page()方法返回得到Page对象(不需要手动创建) 属性 object_list:当前上所有的数据(对象)列表 number:当前的页码...paginator:当前page对象关联的paginator对象 方法 has_next: 判断是否有下一,如果有返回True has_previous:判断是否有上一,如果有返回True...has_other_pages:判断是否有上一下一,如果有返回True next_page_number:返回下s一的页码,如果下一不存在抛出InvalidPage异常 previous_page_number...:返回上一的页码,如果上一不存在抛出InvalidPage异常 len():返回当前的数据(对象)个数 三、示例 路由配置 path(r'^stupage

34830

七.网络爬虫之Requests爬取豆瓣电影TOP250及CSV存储

点击 “下一” ,查看它的URL链接,会发现下面的规律: 第1URL:https://movie.douban.com/top250?...) 必须要取超过停止数据225,因为255不包含在其中,25是它的公差,程序表示为: 接下来使用python的requests库去代替浏览器请求网页的服务器,返回HTML文件,提取并保存信息,再生成下一链接...每一个链接都是在标签内的,通常放在 src=" " 或者 href=" " 之中, xpath为: //*[@id="content"]/div/div[1]/ol/li[1]/div/div[2...]/div[1]/a 提取链接时,需要在复制到的xpath后面加上 /@href , 指定提取链接。...这个网页电影的星级没有用几颗星的文本表示,而是标签表示的,: 所以只需要取出 class=" " 的内容就可以得到星级了,复制它的xpath,提取链接的方法一样,在后面加上 /@class

1.8K20

Django快速入门——投票程序(3)视图

我们的投票应用,需要下列几个视图: • 问题索引——展示最近的几个投票问题。 • 问题详情——展示某个投票的问题不带结果的选项列表。 • 问题结果——展示某个投票的结果。...用你的浏览器访问 "/polls/" ,你将会看见一个无序列表,列出了我们在 教程第 2 部分 添加的投票问题,链接指向这个投票的详情。...如果列表为空的话会抛出 Http404 异常。 使用模板系统 回过头去看看我们的detail()视图。它向模板传递了上下文变量 question 。...去除模板的硬编码 URL 还记得吗,我们在polls/index.html里编写投票链接时,链接是硬编码的 {{ question.question_text...我们在polls.urls的url()函数通过name参数为URL定义了名字,你可以使用 {% url %} 标签代替硬编码URL: <a href="{% url 'detail' question.id

21020

危险的 target=_blank 与“opener”

利用 如果,你的网站上有一个链接,使用了 target="_blank",那么一旦用户点击这个链接并进入一个新的标签,新标签的页面如果存在恶意代码,就可以将你的网站直接导航到一个虚假网站。... 2.用户点击了这个链接,在新的标签打开了这个网站。...上面的攻击步骤是在跨域的情况下的,在跨域情况下, opener 对象 parent 一样,是受到限制的,仅提供非常有限的属性访问,并且在这仅有的几个属性,大部分也都是不允许访问的(访问会直接抛出 DOMException...的传递,仍然不能阻止原标签被恶意跳转。...而如果在链接中加入了 noopener,则此时两个标签将会互不干扰,使得原页面的性能不会受到新页面的影响。

1.5K70

Pug学习

是一种通过缩进(表示标签间的嵌套关系)的方式来编写代码的过程,在编译的过程,不需要考虑标签是否闭合的问题。可以加快写代码速度,也为代码复用提供了便捷。 2....标签:HTML 代码的树状结构 2. 属性:紧跟着标签写在括号里,用,隔开(不加逗号也是允许的),classid可以直接写在元素后面,例如#pug.pug表示的就是一个div标签 3....直接在标签后面加文本,注意文本标签之间要有空格     b. 在标签下一行,对每一行内容前面加管道符号(|)    c. 大的纯文本块只需要在标签后面紧接一个点 . (在标签点之间不要有空格)。...条件循环:if else 判断 case 判断 7. mixin混入 是一种允许您在 Pug 重复使用一整个代码块的方法。...)取到特定的属性,第二种可以通过p&attributes(attributes)取到全部的属性)、传递不确定数量的参数(用…items 表示) 8. include包含 解决的是文件和文件之间,文件区块之间代码复用的问题

1.1K10

基于 Hexo 从零开始搭建个人博客(五)

3.2.0 以下版本 3.2.0 以上版本 3.2.0 以下版本的配置只支持 留空,true false - 显示默认的颜色 img链接 - 显示所配置的图片 配置的 效果 | 留空|...显示默认的top_img(如有),否则显示默认的颜色 (文章top_img留空的话,会显示 cover 的)| | img链接| 图片的链接,显示所配置的图片| | 颜色( HEX - #0000FF...如果有文章(例如:转载文章)不需要显示版权,可以在文章Front-matter单独设置。...# footer是否显示图片背景(与top_img一致) footer_bg: true 配置的 效果 留空/false 显示默认的颜色 img链接 图片的链接,显示所配置的图片 颜色: HEX...想添加额外的 js/css/meta 等等东西,可以在 Inject 里添加,head(标签之前), bottom(标签之前)。

98030

【Django】 开发:补充知识

()传入一个不是整数的抛出 EmptyPage:当向page()提供一个有效,但是那个页面上没有任何对象时抛出 Page对象 负责具体某一的数据的管理 创建对象 Paginator 对象的 page...():如果有上一下一返回 True next_page_number ():返回下一的页码,如果下一不存在,抛出 InvalidPage 异常 previous_page_number ()...:返回上一的页码,如果上一不存在,抛出 InvalidPage 异常 len ():返回当前页面对象的个数 说明: Page 对象是可迭代对象,可以用 for 语句来 访问当前页面的每个对象 参考文档...page={{ page.next_page_number }}">下一 {% else %} 下一 {% endif %} ...它将被浏览器用于“另存为…”对话框 对于CSV文件的每一行,调用writer.writerow,传递一个可迭代对象,列表或元组。

6.4K30

Django 实现分页功能

除此之外,Page 对象还拥有几个常用的函数: has_next(): 判断是否还有下一,有的话返回True。 has_previous():判断是否还有上一,有的话返回 True。...has_other_pages():判断是否上一下一,有的话返回True。 next_page_number(): 返回下一的页码。如果下一不存在,抛出InvalidPage 异常。...previous_page_number():返回上一的页码。如果上一不存在,抛出InvalidPage 异常。...3 运用 下面是自己编写的 demo 程序,介绍 Paginator Page 如何一起使用。...当拿到视图传递过来的 books(books 是一个 Page 对象), 就在 for 循环中打印数据。最后使用 books 根据页面情况展示上一按钮,当前页数,总页数,下一按钮。

1.5K20

Django 学习笔记 1.3 视图模板

问题详情——展示某个投票的问题不带结果的选项列表。 问题结果——展示某个投票的结果。 投票处理器——用于响应用户为某个问题的特定选项投票的操作。...还有,为什么模型 API 不直接抛出 ObjectDoesNotExist 而是抛出 Http404 呢? 因为这样做会增加模型层视图层的耦合性。...URL 在 polls/index.html 里编写投票链接时,链接是硬编码的: {{ question.question_text...}} 问题在于,硬编码强耦合的链接,对于一个包含很多应用的项目来说,修改起来是十分困难的。...然而,因为你在 polls.urls 的 url() 函数通过 name 参数为 URL 定义了名字,你可以使用 {% url %} 标签代替它: <a href="{% url 'detail

1.2K20

Scrapy框架的使用之Scrapy入门

所以在parse方法,我们可以直接对response变量包含的内容进行解析,比如浏览请求结果的网页源代码,或者进一步分析源代码内容,或者找出结果链接而得到下一个请求。...我们可以看到网页既有我们想要的结果,又有下一链接,这两部分内容我们都要进行处理。 首先看看网页结构,如下图所示。...这里我们传递两个参数——urlcallback,这两个参数的说明如下。 url:它是请求链接。 callback:它是回调函数。...接下来我们要做的就是利用选择器得到下一链接并生成请求,在parse()方法后追加如下的代码: next = response.css('.pager .next a::attr(href)').extract_first...,即要获取a超链接href属性。

1.3K30

个人博客SEO设置小技巧

description" content="关于你的博客的介绍" />   设置关键词   翻页按钮设置 一般博客有好几页文章,所以有下一...nofollow 顾名思义,nofollow 是HTML页面a标签的属性。...这个标签的意义是告诉搜索引擎"不要追踪此网页上的链接或不要追踪此特定链接"。这个一般用在评论区,防止爬虫追踪评论区里面的恶意链接,对网站造成影响。...但是某些博主可能会在友情链接标签里面动手脚,大家和别人交换友情链接的时候要注意,例子: 原本正常的友情链接应该是这样: Tim's Blog 动手脚后,告诉爬虫不要追踪此链接,同时也阻止了权重的传递,这样友情链接的作用就微乎其微了: <a target="_blank" href="http://www.huangbowei.com

69580

Scrapy 爬虫框架入门案例详解

所以在parse方法,我们可以直接对response包含的内容进行解析,比如看看请求结果的网页源代码,或者进一步分析源代码里面包含什么,或者找出结果链接进一步得到下一个请求。...观察网站,我们可以看到网页既有我们想要的结果,又有下一链接,所以两部分我们都要进行处理。...好,接下来我们要做的就是利用选择器得到下一链接并生成请求,在parse方法后追加下面的代码。...scrapy.Request(url=url, callback=self.parse) 第一句代码是通过CSS选择器获取下一个页面的链接,需要获取超链接href属性,在这里用到了::attr...(href)操作,通过::attr加属性名称我们可以获取属性的

3.9K01

Hexo-Butterfly主题修改记录-2

license: 自定义许可协议名称 license_url: 自定义许可协议链接 合并CSS文件 将自定义CSS并入主体CSS,用以节省请求次数,以此加快访问速度 但是如果是单CSS就没必要了...@import '文件夹名/*.css' Hexo-Butterfly添加磁吸效果分类 主题文档\layout\index.pug extends includes/layout.pug block...enable: true column: odd # 显示列数,odd:3列 | even:4列 row: 2 #显示行数,默认两行,超过行数切换为滚动显示 descr: - 这里写自己标签的备注...(图片与博客的相对路径或者去掉协议头的绝对路径) timeline: 日期,格式:'年-月-日' link: 置顶文章链接,站内文章建议填相对链接 title: 置顶文章标题 description...效果图预览: 引入Symbol图标 首先引入fonticon图标库的js链接,引入方式可参考Hexo-Butterfly主题修改记录【引入第三方图标库】部分 菜单图标 butterfly\layout

1.6K20
领券