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-06-14:数组的最大与和。 给你一个长度为 n 的整数数组 nums 和一个整数 numSlots ,满足2 * numSlots >= n 。总共有 numSlots 个篮子,编号为 1

    2022-06-14:数组的最大与和. 给你一个长度为 n 的整数数组 nums 和一个整数 numSlots ,满足2 * numSlots >= n .总共有 numSlots 个篮子,编号 ...

  2. 2021-02-25:给定一个正数数组arr,请把arr中所有的数分成两个集合。如果arr长度为偶数,两个集合包含数的个数要一样多;如果arr长度为奇数,两个集合包含数的个数必须只差一个。请尽量让两个集合的累加和接近,返回最接近的情况下,较小集合的累加和。

    2021-02-25:给定一个正数数组arr,请把arr中所有的数分成两个集合.如果arr长度为偶数,两个集合包含数的个数要一样多:如果arr长度为奇数,两个集合包含数的个数必须只差一个.请尽量让两个 ...

  3. Selenium - 浏览器操作

    Selenium - 浏览器操作 获取浏览器信息 from selenium import webdriver driver = webdriver.Chrome() driver.get(" ...

  4. SpringMVC 简单的开始

    SpringMVC简单的开始 利用Spring模板配置写一个web项目. 1.核心配置文件(模板代码) <?xml version="1.0" encoding=" ...

  5. RT-Thread线程构建

    RT-Thread 操作系统的启动过程如下 main()函数作为其中的一个线程在运行. 如果想新建一个线程,和main()线程并行运行,步骤如下:   第一步:线程初始化函数申明 static voi ...

  6. Flash Download failed -“Cortex-M3”

    STM32下载程序时经常出现如下问题,即    error:Flash Download failed -"Cortex-M3" 经查找网络攻略,总结如下: (1). (2). ( ...

  7. Electron桌面应用开发基础

    Electron桌面应用开发 Electron技术架构 地址:快速入门 | Electron Chromium 支持最新特性的浏览器 Node.js Javascript运行时,可实现文件读写 Nat ...

  8. ASP.NET Core 6框架揭秘实例演示[37]:重定向的N种实现方式

    在HTTP的语义中,重定向一般指的是服务端通过返回一个状态码为3XX的响应促使客户端像另一个地址再次发起请求,本章将此称为"客户端重定向".既然有客户端重定向,自然就有服务端重定向 ...

  9. Yolov5代码解析(输入端、BackBone、Neck、输出端))

    [深度学习]总目录 输入端:数据增强.锚框计算等. backbone:进行特征提取.常用的骨干网络有VGG,ResNet,DenseNet,MobileNet,EfficientNet,CSPDark ...

  10. Python爬虫(二):写一个爬取壁纸网站图片的爬虫(图片下载,词频统计,思路)

    好家伙,写爬虫   代码: import requests import re import os from collections import Counter import xlwt # 创建Ex ...