1. 在learn目录下新建一个templates文件夹,里面新建一个home.html

(1)

很简单的,就直接右键learn,新建文件夹,完成后,继续右键templates,创建文档,后缀名为html就好。

(2)在home.html中写内容

<!DOCTYPE html>

<html>

<head>

<title>欢迎光临</title>

</head>

<body>

欢迎光临 芬芬笔迹

</body>

</html>

 

同样的,要保存哦

 

(3)改一下views.py文件

把先前的index函数注释掉,再重新写一个index函数

代码:

def index(request):

return render(request,'home.html')

注:以上render起的就是一个封装的作用

 

保存哦!

 

(4)改blog/urls.py

增加一个Path,将视图函数对应到网址

我这里用的是django3.0版本,先来一个错误示范:

以上在3.0版本是会运行错误的,经过我一个晚上加一个早上的抓耳挠腮、腰酸背痛,又秃了一大截的努力下,终于改对了!!!正确示范:

代码:

path('home/',learn_views.index,name='home'),

上面的错误太典型了!总结一下经验:首先,不能照本宣科,作为小白,我就是看着教材来弄的,结果,被带沟里!理解原理才是关键!其次,真的真的,你只要理解每个代码的前因后果,你自己是可以总结出一些规律,一些错误是可以自己解决的,上面那行代码,其实只要知道书写格式,这个完全可以从之前写过的习得,可我就是两眼一直只盯着那一行代码,知道今早才注意到上面几行代码。Path的第一个参数就是浏览器通过端口后,接着要访问的地址,后面你把它命名为home了,所以第一个参数也要加上,才能访问到,第二个参数,就是views.py里面的index了,就是一个路径名,这里之所以用learn_views,是因为

这一行代码,

保存!!!

 

(5)打开开发服务器并访问

2. 在templates目录下创建list1.html文件

(1)

这个和home.html的创建方法一样了,不做赘述,直接上图

代码:

<html>

<title>Main</title>

<body>

<h1> The Zen of Python</h1>

<hr/>

{% for item in entries1 %}

<b> {{ item.title  }}  </b>

<hr/>

{{ item.content  }}

<p/>

{% endfor %}

</body>

</html>

(2)修改learn/views.py文件

添加代码:

from django.shortcuts import render_to_response

entries={'title':'1234','content':'5678'}

entries1=[{'title':'English','content':'Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren’t special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one– and preferably only one –obvious way to do it. Although that way may not be obvious at first unless you’re Dutch. Now is better than never. Although never is often better than right now. If the implementation is hard to explain, it’s a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea – let’s do more of those!'}         ,{'title':'中文','content':'优美胜于丑陋 明了胜于隐晦 简洁胜于复杂 复杂胜于混乱 扁平胜于嵌套 宽松胜于紧凑 可读性很重要 即便是特例,也不可违背这些规则 虽然现实往往不那么完美 但是不应该放过任何异常 除非你确定需要如此 如果存在多种可能,不要猜测 肯定有一种——通常也是唯一一种——最佳的解决方案 虽然这并不容易,因为你不是Python之父 , 动手比不动手要好 ,但不假思索就动手还不如不做, 如果你的方案很难懂,那肯定不是一个好方案 如果你的方案很好懂,那肯定是一个好方案, 命名空间非常有用,我们应当多加利用'}]

def list(request):

return render_to_response('list1.html',{'entries1':entries1})

这里着重理解一下:

render_to_response() 的第一个参数必须是要使用的模板名称。如果要给定第二个参数,那么该参数必须是为该模板创建 Context 时所使用的字典。如果不提供第二个参数,render_to_response() 使用一个空字典。

 

注意:render_to_response()这个在3.0版本以上是没有的!我又重新下载了2.0版本!

 

 

好,保存

 

(3)修改blog/blog/urls.py文件

代码:

path('list/',learn_views.list,name='list'),

 

(4)打开浏览器,并在浏览器地址栏输入:http://127.0.0.1:8002/list/

 

Django模板(请用Django2.0版本完成)的更多相关文章

  1. Django2.0版本以上与pymsql 不匹配问题以及解决方法

    Django2.0版本以上与pymsql 不匹配问题以及解决方法 Django 2.0 以上 如果使用pymysql0.93,需要一下两步操作: # 1 第一次报错信息: File "D:\ ...

  2. Django2.0版本 path与Django1.x版本url正则匹配问题

    Django1.x版本url正则匹配如下: Django2.0版本正则匹配则要导入re_path模块如下:

  3. 【Django笔记二】Django2.0配置模板和静态文件

    一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 二.创建模板 1.在my_project文件夹下新建文件夹templates用于存放模板文 ...

  4. 【Django笔记四】Django2.0中的表单

    一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 Mysql版本: 5.5.53   安装mysql 二.基础信息 1.App中的模型mod ...

  5. 【Django笔记三】Django2.0配置mysql模型

    一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 Mysql版本: 5.5.53   安装mysql 二.安装Mysqlclient: 1. ...

  6. 圆柱模板价格计算器V1.0版本

    因很多客户需求,就做了一个初始版本的产品圆柱模板面积和价格的计算器,界面非常简单,做工粗糙,但是功能是可以运行.后期会在界面和功能上进行升级,打算出一个微信小程序版本.这个程序仅供参考. 演示地址:h ...

  7. Django采坑日志(django2.0)

    使用Mariadb时出现的问题 "Unknown system variable 'transaction_isolation'" 解决办法:修改django/db/backend ...

  8. Django2.0使用

    创建项目: 通过命令行的方式:首先要进入到安装了django的虚拟环境中.然后执行命令: django-admin startproject [项目的名称] 这样就可以在当前目录下创建一个项目了. 通 ...

  9. Django2.0路由层-URLconf

    目录 DJango2.0路由层-URLconf 概述 urlpatterns 实例 path转换器 自定义path转换器 使用正则表达式 命名组(有名分组) URLconf匹配请求URL中的哪些部分 ...

  10. Django2.0路由补充之path,re_path及视图层

    以下是Django2.0版本 正则捕获到的参数都是字符串,所以如果函数需要用的其他数据类型,可以在函数中直接转换,也可以在路由中直接转换,如下: 下面实例是匹配整数,传过去的参数就是整数 from d ...

随机推荐

  1. 2022-03-06:金币路径。 给定一个数组 A(下标从 1 开始)包含 N 个整数:A1,A2,……,AN 和一个整数 B。 你可以从数组 A 中的任何一个位置(下标为 i)跳到下标 i+1,i+

    2022-03-06:金币路径. 给定一个数组 A(下标从 1 开始)包含 N 个整数:A1,A2,--,AN 和一个整数 B. 你可以从数组 A 中的任何一个位置(下标为 i)跳到下标 i+1,i+ ...

  2. 2022-02-02:最接近的二叉搜索树值 II。 给定一个不为空的二叉搜索树和一个目标值 target,请在该二叉搜索树中找到最接近目标值 target 的 k 个值。 注意: 给定的目标值 ta

    2022-02-02:最接近的二叉搜索树值 II. 给定一个不为空的二叉搜索树和一个目标值 target,请在该二叉搜索树中找到最接近目标值 target 的 k 个值. 注意: 给定的目标值 tar ...

  3. VB.NET 截取字符串

    在VB.NET中,您可以使用Substring方法或Split方法来截取字符串. Substring方法允许您从字符串中提取一个子字符串,该子字符串从指定的起始索引开始,并继续到字符串的末尾或指定的长 ...

  4. 对promise的简单理解

    随着ES6的推行它的许多新特性受到了广大开发者的好评,比如promise,为什么使用这个promise呢,他具体能帮我们做些啥? 其实从字面意思上来理解promise就是承诺,比如:你命令你的手下本月 ...

  5. 公路堵车概率模型Python(Nagel-Schreckenberg交通流模型)

    路面上有N辆车,以不同速度向前行驶,模拟堵车问题.有以下假设: 假设某辆车的当前速度是 v 如果 前方可见范围内没车,下一秒车速提高到 v+1 如果 前方有车,前车的距离为 d ,且 d < v ...

  6. unity添加Mysql的dll以及发布的问题

    最近在做一个unity项目中,要读取数据库,还是MySql的数据库.遇到了很多问题,写出来供大家参考一下. 关于unity引用第三方的Mysql.data.dll的问题: 这个地方有一个难点,正常的C ...

  7. C++ 核心指南之资源管理(上)

    C++ 核心指南(C++ Core Guidelines)是由 Bjarne Stroustrup.Herb Sutter 等顶尖 C++ 专家创建的一份 C++ 指南.规则及最佳实践.旨在帮助大家正 ...

  8. 2023-07-02:给定一个1~N的排列,每次将相邻两数相加,可以得到新的序列,长度是N-1 再对新的序列,每次将相邻两数相加,可以得到新的序列,长度是N-2 这样下去可以最终只剩一个数字 比如 :

    2023-07-02:给定一个1~N的排列,每次将相邻两数相加,可以得到新的序列,长度是N-1 再对新的序列,每次将相邻两数相加,可以得到新的序列,长度是N-2 这样下去可以最终只剩一个数字 比如 : ...

  9. MD文本编辑工具推荐-matktext

    最开始是用vscode编辑markdown文档,左边写右边看效果的实时渲染模式,对于markdown编辑来说是多余的,多是文字类的内容,配以插图,复杂表格和脑图则更少.之后接触到Typora,所打即所 ...

  10. PerfView 洞察C#托管堆内存 "黑洞现象"

    一:背景 1. 讲故事 首先声明的是这个 黑洞 是我定义的术语,它是用来表示 内存吞噬 的一种现象,何为 内存吞噬,我们来看一张图. 从上面的 卦象图 来看,GCHeap 的 Allocated=85 ...