当前位置: 首页 > news >正文

建站公司外包钓鱼网站怎么做

建站公司外包,钓鱼网站怎么做,免费推广做产品的网站,什么网站是教做纸工的目录 18.4 创建其他网页 18.4.1 模板继承 1. 父模板 base.html 注意 2. 子模板 index.html 注意 18.4.2 显示所有主题的页面 1. URL模式 urls.py 2. 视图 views.py 3. 模板 topics.html 18.4.3 显示特定主题的页面 1. URL模式 urls.py 2. 视图 views.py 往… 目录 18.4 创建其他网页 18.4.1 模板继承 1. 父模板 base.html 注意 2. 子模板 index.html 注意 18.4.2 显示所有主题的页面 1. URL模式 urls.py 2. 视图 views.py 3. 模板 topics.html 18.4.3 显示特定主题的页面 1. URL模式 urls.py 2. 视图 views.py 往期快速传送门在文章最后 感谢大家的支持欢迎订阅收藏专栏将持续更新 18.4 创建其他网页 制定创建网页的流程后可以开始扩充“学习笔记”项目了。我们将创建两个显示数据的网 页其中一个列出所有的主题另一个显示特定主题的所有条目。对于每个网页我们都将指定 URL模式编写一个视图函数并编写一个模板。但这样做之前我们先创建一个父模板项目 中的其他模板都将继承它。 18.4.1 模板继承 创建网站时几乎都有一些所有网页都将包含的元素。在这种情况下可编写一个包含通用 元素的父模板并让每个网页都继承这个模板而不必在每个网页中重复定义这些通用元素。这 种方法能让你专注于开发每个网页的独特方面还能让修改项目的整体外观容易得多。 1. 父模板 我们首先来创建一个名为base.html的模板并将其存储在index.html所在的目录中。这个文件 包含所有页面都有的元素其他的模板都继承base.html。当前所有页面都包含的元素只有顶端 的标题。我们将在每个页面中包含这个模板因此我们将这个标题设置为到主页的链接 base.html p 1 a href{% url learning_logs:index %}Learning Log/a /p 2 {% block content %}{% endblock content %} 这个文件的第一部分创建一个包含项目名的段落该段落也是一个到主页的链接。为创建链 接我们使用了一个模板标签它是用大括号和百分号{% %}表示的。模板标签是一小段代 码生成要在网页中显示的信息。在这个实例中模板标签{% url learning_logs:index %}生成一个URL该URL与learning_logs/urls.py中定义的名为index的URL模式匹配见。在这 个示例中learning_logs是一个命名空间而index是该命名空间中一个名称独特的URL模式。 在简单的HTML页面中链接是使用锚标签定义的 a hreflink_urllink text/a 让模板标签来生成URL可让链接保持最新容易得多。要修改项目中的URL只需修改urls.py 中的URL模式这样网页被请求时Django将自动插入修改后的URL。在我们的项目中每个网 页都将继承base.html因此从现在开始每个网页都包含到主页的链接。 在2处我们插入了一对块标签。这个块名为content是一个占位符其中包含的信息将 由子模板指定。 子模板并非必须定义父模板中的每个块因此在父模板中可使用任意多个块来预留空间 而子模板可根据需要定义相应数量的块。 注意 在Python代码中我们几乎总是缩进四个空格。相比于Python文件模板文件的缩进层级 更多因此每个层级通常只缩进两个空格。 2. 子模板 现在需要重新编写index.html使其继承base.html如下所示 index.html 1 {% extends learning_logs/base.html %} 2 {% block content %}pLearning Log helps you keep track of your learning, for any topic yourelearning about./p 3 {% endblock content %} 如果将这些代码与原来的index.html进行比较可发现我们将标题Learning Log替换成了从父 模板那里继承的代码见1。子模板的第一行必须包含标签{% extends %}让Django知道它继 承了哪个父模板。文件base.html位于文件夹learning_logs中因此父模板路径中包含learning_logs。 这行代码导入模板base.html的所有内容让index.html能够指定要在content块预留的空间中添加 的内容。 在2处我们插入了一个名为content的{% block %}标签以定义content块。不是从父模板 继承的内容都包含在content块中在这里是一个描述项目“学习笔记”的段落。在处我们 使用标签{% endblock content %}指出了内容定义的结束位置。 模板继承的优点开始显现出来了在子模板中只需包含当前网页特有的内容。这不仅简化 了每个模板还使得网站修改起来容易得多。要修改很多网页都包含的元素只需在父模板中修 改该元素你所做的修改将传导到继承该父模板的每个页面。在包含数十乃至数百个网页的项目中这种结构使得网站改进起来容易而且快捷得多。 注意 在大型项目中通常有一个用于整个网站的父模板——base.html且网站的每个主要部 分都有一个父模板。每个部分的父模板都继承base.html而网站的每个网页都继承相应 部分的父模板。这让你能够轻松地修改整个网站的外观、网站任何一部分的外观以及任 何一个网页的外观。这种配置提供了一种效率极高的工作方式让你乐意不断地去改进 网站。 18.4.2 显示所有主题的页面 有了高效的网页创建方法就能专注于另外两个网页了显示全部主题的网页以及显示特定 主题中条目的网页。所有主题页面显示用户创建的所有主题它是第一个需要使用数据的网页。 1. URL模式 首先我们来定义显示所有主题的页面的URL。通常使用一个简单的URL片段来指出网页 显示的信息我们将使用单词topics因此URL http://localhost:8000/topics/将返回显示所有主题的 页面。下面演示了该如何修改learning_logs/urls.py urls.py 为learning_logs定义URL模式 --snip-- urlpatterns [# 主页url(r^$, views.index, nameindex),# 显示所有的主题  url(r^topics/$, views.topics, nametopics), ] 我们只是在用于主页URL的正则表达式中添加了topics/见。Django检查请求的URL时 这个模式与这样的URL匹配基础URL后面跟着topics。可以在末尾包含斜杠也可以省略它 但单词topics后面不能有任何东西否则就与该模式不匹配。其URL与该模式匹配的请求都将交 给views.py中的函数topics()进行处理。 2. 视图 函数topics()需要从数据库中获取一些数据并将其发送给模板。我们需要在views.py中添 加的代码如下 views.py from django.shortcuts import render 1 from .models import Topic def index(request):--snip-- 2 def topics(request):显示所有的主题 3 topics Topic.objects.order_by(date_added) 4 context {topics: topics} 5 return render(request, learning_logs/topics.html, context) 我们首先导入了与所需数据相关联的模型见1。函数topics()包含一个形参Django从服 务器那里收到的request对象见2。在3处我们查询数据库——请求提供Topic对象并按属 性date_added对它们进行排序。我们将返回的查询集存储在topics中。 在4处我们定义了一个将要发送给模板的上下文。上下文是一个字典其中的键是我们将 在模板中用来访问数据的名称而值是我们要发送给模板的数据。在这里只有一个键—值对 它包含我们将在网页中显示的一组主题。创建使用数据的网页时除对象request和模板的路径 外我们还将变量context传递给render()见5。 3. 模板 显示所有主题的页面的模板接受字典context以便能够使用topics()提供的数据。请创建一 个文件将其命名为topics.html并存储到index.html所在的目录中。下面演示了如何在这个模板 中显示主题 topics.html {% extends learning_logs/base.html %} {% block content %}pTopics/p 1 ul 2 {% for topic in topics %} 3 li{{ topic }}/li 4 {% empty %}liNo topics have been added yet./li 5 {% endfor %} 6 /ul {% endblock content %} 就像模板index.html一样我们首先使用标签{% extends %}来继承base.html再开始定义 content块。这个网页的主体是一个项目列表其中列出了用户输入的主题。在标准HTML中项 目列表被称为无序列表用标签 表示。包含所有主题的项目列表始于1处。 在2处我们使用了一个相当于for循环的模板标签它遍历字典context中的列表topics。 模板中使用的代码与Python代码存在一些重要差别Python使用缩进来指出哪些代码行是for循环 的组成部分而在模板中每个for循环都必须使用{% endfor %}标签来显式地指出其结束位置。因此在模板中循环类似于下面这样 {% for item in list %}do something with each item {% endfor %} p 1 a href{% url learning_logs:index %}Learning Log/a - 2 a href{% url learning_logs:topics %}Topics/a /p {% block content %}{% endblock content %} 我们在到主页的链接后面添加了一个连字符见1然后添加了一个到显示所有主题的页 面的链接——使用的也是模板标签url见2。这一行让Django生成一个链接它与learning_logs/ urls.py中名为topics的URL模式匹配。 现在如果你刷新浏览器中的主页将看到链接Topics。单击这个链接将看到类似于图18-4 所示的网页. 18.4.3 显示特定主题的页面 接下来我们需要创建一个专注于特定主题的页面——显示该主题的名称及该主题的所有条 目。同样我们将定义一个新的URL模式编写一个视图并创建一个模板。我们还将修改显示所 有主题的网页让每个项目列表项都是一个链接单击它将显示相应主题的所有条目。 1. URL模式 显示特定主题的页面的URL模式与前面的所有URL模式都稍有不同因为它将使用主题的id 属性来指出请求的是哪个主题。例如如果用户要查看主题Chess其id为1的详细页面URL 将为http://localhost:8000/topics/1/。下面是与这个URL匹配的模式它包含在learning_logs/urls.py中 urls.py --snip-- urlpatterns [--snip--# 特定主题的详细页面url(r^topics/(?Ptopic_id\d)/$, views.topic, nametopic), ] 我们来详细研究这个URL模式中的正则表达式——r^topics/(?P\d)/$。r让 Django将这个字符串视为原始字符串并指出正则表达式包含在引号内。这个表达式的第二部分 /(?P\d)/与包含在两个斜杠内的整数匹配并将这个整数存储在一个名为topic_id 的实参中。这部分表达式两边的括号捕获URL中的值?P将匹配的值存储到topic_id 中而表达式\d与包含在两个斜杆内的任何数字都匹配不管这个数字为多少位。 发现URL与这个模式匹配时Django将调用视图函数topic()并将存储在topic_id中的值作 为实参传递给它。在这个函数中我们将使用topic_id的值来获取相应的主题。 2. 视图 函数topic()需要从数据库中获取指定的主题以及与之相关联的所有条目如下所示 views.py --snip-- 1 def topic(request, topic_id):显示单个主题及其所有的条目 2 topic Topic.objects.get(idtopic_id) 3 entries topic.entry_set.order_by(-date_added) 4 context {topic: topic, entries: entries} 5 return render(request, learning_logs/topic.html, context) 关于“Python”的核心知识点整理大全37-CSDN博客 关于“Python”的核心知识点整理大全25-CSDN博客 关于“Python”的核心知识点整理大全12-CSDN博客 往期快速传送门在文章最后 感谢大家的支持欢迎订阅收藏专栏将持续更新
http://www.pierceye.com/news/115181/

相关文章:

  • 个人网站logo需要备案吗鑫灵锐做网站多少钱
  • .xyz做网站怎么样网站产品预算
  • 建网站先要申请网址吗做网站给文件不侵权
  • 一元夺宝网站建设Wordpress 普通图片裁剪
  • 网站推广都有哪些自己有网站怎么优化
  • 宠物交易网站模板更改wordpress后台登录地址
  • 有电脑网站怎样建手机正规网络游戏平台
  • 网站抓取QQ获取系统cms监控手机客户端
  • 郑州网站推广价格优礼品网站模板
  • 百度指数不高的网站怎么优化网站图片类型
  • 北京专业做网站怎么样app软件开发摄像头
  • 网站建设导向erp系统软件免费版
  • 手表网站网站开发毕业设计文献综述
  • 台州网站制作维护关于微网站策划ppt怎么做
  • 网站建设中期目标开发app找那个公司
  • 跨境自建站模板网站内容和功能清单
  • 平面设计找素材的网站电子商务网站建设的步骤一般为(
  • 一个服务器可以备案几个网站凡科门店通怎么样
  • 房地产企业网站建设想给公司产品做个推广
  • 国外网站平台wordpress电脑安装教程
  • 网站开发合肥诚聘网站开发人员
  • 网站开发者模式怎么保存网站首页调用网站标题
  • 仿京东网站模板wordpress单页视差
  • php mysql 网站建设html5手机网站模板
  • 山楂树建站公司建筑方案设计说明模板
  • 服务器网站源码在哪建筑电工证
  • 网站导航国外做名片网站
  • 效益型网站西安移动网站建设
  • 爱站工具查询深一集团的网站谁做的
  • 为网站网站做推广制作本地网页