Django模板(请用Django2.0版本完成)
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版本完成)的更多相关文章
- Django2.0版本以上与pymsql 不匹配问题以及解决方法
Django2.0版本以上与pymsql 不匹配问题以及解决方法 Django 2.0 以上 如果使用pymysql0.93,需要一下两步操作: # 1 第一次报错信息: File "D:\ ...
- Django2.0版本 path与Django1.x版本url正则匹配问题
Django1.x版本url正则匹配如下: Django2.0版本正则匹配则要导入re_path模块如下:
- 【Django笔记二】Django2.0配置模板和静态文件
一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 二.创建模板 1.在my_project文件夹下新建文件夹templates用于存放模板文 ...
- 【Django笔记四】Django2.0中的表单
一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 Mysql版本: 5.5.53 安装mysql 二.基础信息 1.App中的模型mod ...
- 【Django笔记三】Django2.0配置mysql模型
一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 Mysql版本: 5.5.53 安装mysql 二.安装Mysqlclient: 1. ...
- 圆柱模板价格计算器V1.0版本
因很多客户需求,就做了一个初始版本的产品圆柱模板面积和价格的计算器,界面非常简单,做工粗糙,但是功能是可以运行.后期会在界面和功能上进行升级,打算出一个微信小程序版本.这个程序仅供参考. 演示地址:h ...
- Django采坑日志(django2.0)
使用Mariadb时出现的问题 "Unknown system variable 'transaction_isolation'" 解决办法:修改django/db/backend ...
- Django2.0使用
创建项目: 通过命令行的方式:首先要进入到安装了django的虚拟环境中.然后执行命令: django-admin startproject [项目的名称] 这样就可以在当前目录下创建一个项目了. 通 ...
- Django2.0路由层-URLconf
目录 DJango2.0路由层-URLconf 概述 urlpatterns 实例 path转换器 自定义path转换器 使用正则表达式 命名组(有名分组) URLconf匹配请求URL中的哪些部分 ...
- Django2.0路由补充之path,re_path及视图层
以下是Django2.0版本 正则捕获到的参数都是字符串,所以如果函数需要用的其他数据类型,可以在函数中直接转换,也可以在路由中直接转换,如下: 下面实例是匹配整数,传过去的参数就是整数 from d ...
随机推荐
- 2020-11-26:go中,map的创建流程是什么?
福哥答案2020-11-26: [答案来自此链接:](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=10)源码位于runtime/map.go文件中的ma ...
- Django4全栈进阶之路1 Django4下载与安装
python 下载安装: 下载网址:https://www.python.org/downloads/ 安装方法:https://www.cnblogs.com/beichengshiqiao/p/1 ...
- Python encode()方法和decode()方法
Python encode()方法 encode() 方法为字符串类型(str)提供的方法,用于将 str 类型转换成 bytes 类型,这个过程也称为"编码".encode() ...
- 驱动开发:内核解析PE结构导出表
在笔者的上一篇文章<驱动开发:内核特征码扫描PE代码段>中LyShark带大家通过封装好的LySharkToolsUtilKernelBase函数实现了动态获取内核模块基址,并通过ntim ...
- R 语言常用操作与函数汇总
总结了一下 R 语言中常用的一些操作与函数使用,抛砖引玉,分享一下给大家,如有错误的地方欢迎留言指正. 怎样显示 R 软件中某个包中包含的全部数据集? > library(MASS)> d ...
- wireshark基本使用
Wireshark 是一种开源.跨平台的网络数据包分析工具,能够嗅探和调查实时流量并检查数据包捕获 (PCAP).它通常 被用作最好的数据包分析工具之一. 数据包过滤操作 ip过滤器 IP 过滤器帮助 ...
- 【GIS】图层中多个面要素融合成一个面要素
对于那些利用GIS信息进行编辑,设计的GIS专业人士来说,桌面GIS占有主导地位.GIS专业人士使用标准桌面作为工具来设计,共享,管理和发布地理信息. ArcGIS Desktop是一 ...
- 使用containerd从0搭建k8s(kubernetes)集群
准备环境 准备两台服务器节点,如果需要安装虚拟机,可以参考<wmware和centos安装过程> 机器名 IP 角色 CPU 内存 centos01 192.168.109.130 mas ...
- 基于uniapp+vite4+vue3搭建跨端项目|uni-app+uview-plus模板
最近得空学习了下uniapp结合vue3搭建跨端项目.之前也有使用uniapp开发过几款聊天/仿抖音/后台管理等项目,但都是基于vue2开发.随着vite.js破局出圈,越来越多的项目偏向于vue3开 ...
- JVM、JRE和JDK的理解
JVM JVM,全称为Java Virtual Machine,中文的意思是:Java虚拟机. 在理解Java虚拟机这个定义之前,我们先讲讲为何叫虚拟机呢?称为虚拟机,顾名思义,它应该不是真实存在 ...