Python & DJango入门教程[原创]
(完整版)python教案

目录
• Python基础知识 • Python进阶特性 • Python常用库介绍及应用 • Python数据分析与可视化实践
目录
• Python在机器学习领域应用 • Python Web开发框架Django实战
演练 • 项目实战:用Python解决现实问题
01
Python基础知识
面向对象编程基础
类与对象
类是对象的抽象,定义了 一类对象的共同属性和方 法;对象是类的实例,具 有类定义的属性和行为。
继承与多态
继承实现了代码的重用和 多态,子类可以继承父类 的属性和方法,并可以添 加或覆盖父类的方法。
封装与访问控制
封装将数据和行为组合在 一起,形成“对象”,并 通过访问控制限制对对象 内部状态的访问。
文档编写
编写项目文档,包括使用说明、技术文档等,方 便项目的维护和升级。
THANKS
视图函数编写技巧分享
视图函数基础
介绍视图函数的概念和作用,以及编写视图 函数的基本方法。
HTTP请求处理
介绍如何处理不同的HTTP请求方法,如 GET、POST等。
URL路由配置
讲解Django的URL路由配置,如何将URL映 射到对应的视图函数。
响应数据格式
讲解如何返回不同格式的响应数据,如 JSON、HTML等。
项目选题背景介绍
现实生活中的问题
随着技术的发展和数据的增长,现实生活中的问题越来越 需要编程技能来解决。
Python的优势
Python是一种简单易学、功能强大的编程语言,广泛应 用于数据分析、人工智能、Web开发等领域。
项目实战的意义
通过项目实战,可以将所学的Python知识应用于实际场 景中,提高解决问题的能力。
python的名词解释

python的名词解释Python,是一种通用的高级编程语言,由荷兰人Guido van Rossum于1989年发明。
它以其简洁、可读性强以及易于学习的特点,成为了全球最受欢迎的编程语言之一。
Python可用于开发各种应用程序,包括网站开发、游戏开发、数据分析、人工智能等领域。
1. 解释器(Interpreter)在Python中,解释器是将源代码转换为可执行程序或直接执行的软件工具。
Python解释器可以将代码行一行一行地解释并执行。
用户只需编写代码,并通过解释器将其转化为机器语言。
Python解释器有多种,其中较为常用的是CPython,它是官方实现的解释器版本。
除此之外,还有其他版本,如Jython(运行在Java虚拟机上的解释器)、IronPython(运行在.NET框架上的解释器)等,它们在一些特定的应用场景下使用较多。
2. 变量(Variable)在Python中,变量是用于存储数据的名称。
它类似于一个容器,可以存储不同类型的数据,如整数、浮点数、字符串等。
Python是一种动态类型语言,因此不需要在代码中显式声明变量的类型。
变量的类型是根据其所存储的值来推断的。
例如:```number = 10name = "John"```在上面的例子中,变量`number`被赋值为整数10,而变量`name`被赋值为字符串"John"。
Python解释器会根据这些赋值操作来确定变量的类型。
3. 函数(Function)函数是一段被封装起来的可重复使用的代码块。
通过函数,我们可以将代码划分为更小的模块,提高代码的可读性和重用性。
在Python中,我们可以通过`def`关键字来定义函数。
例如:```def greet():print("Hello, World!")greet()```上面的例子定义了一个名为`greet`的函数,它用于输出"Hello, World!"。
python课程内容

python课程内容Python课程内容Python是一门简单易学、功能强大的编程语言,被广泛应用于数据分析、人工智能、Web开发等领域。
Python课程内容涵盖了基础语法、数据类型、流程控制、函数、面向对象编程、文件操作、异常处理等多个方面。
本文将从这些方面逐一介绍Python课程的内容。
一、基础语法Python的基础语法是学习Python的第一步。
学习基础语法可以帮助我们了解Python的语法规则、标识符命名规范等基本知识。
基础语法包括变量、常量、运算符、注释等内容。
通过学习基础语法,我们可以了解Python的基本语法结构,为后续的学习打下坚实的基础。
二、数据类型在Python中,有多种数据类型,包括整数、浮点数、字符串、列表、元组、字典等。
每种数据类型都有其特点和使用场景。
学习数据类型可以帮助我们更好地处理和操作不同类型的数据。
通过学习数据类型,我们可以了解它们的定义、操作方法和常见应用。
三、流程控制流程控制是编程中非常重要的一部分,可以控制程序的执行流程。
Python提供了多种流程控制语句,包括条件语句(if-else语句)、循环语句(for循环、while循环)和跳转语句(break语句、continue语句)。
学习流程控制可以帮助我们编写更加灵活和高效的程序。
四、函数函数是将一段可重复使用的代码封装起来,通过函数名进行调用的代码块。
学习函数可以提高代码的可读性和复用性。
Python中的函数可以有参数和返回值,并且支持默认参数、可变参数和关键字参数。
通过学习函数,我们可以编写更加模块化和可扩展的程序。
五、面向对象编程面向对象编程(Object Oriented Programming,简称OOP)是一种编程思想,将程序中的数据和操作封装成对象,通过对象之间的交互来完成任务。
Python是一门面向对象的编程语言,支持类、对象、继承、多态等特性。
学习面向对象编程可以提高代码的可维护性和可扩展性。
什么是python

Python 是一种高级编程语言,由Guido van Rossum创造于1991 年。
Python语言设计初衷是为了增加程序员的生产力和代码可读性。
它是一种通用的编程语言,可用于构建各种应用程序,如Web应用程序、科学计算、数据库、桌面应用程序、人工智能等等。
Python 有很多特点。
它是一种解释型语言,不需要预编译,即可立即运行。
Python 也是一种面向对象语言,支持编写代码与数据结构之间的相互作用和继承。
Python 简单易学,语法清晰简洁,并且可以使用丰富的第三方模块轻松拓展功能。
Python 还有大型的社区和生态系统,可以轻松地找到帮助、示例代码、库和工具。
Python 适用于许多不同类型的程序员,包括新手和经验丰富的专业人员。
尽管Python 是一个高级编程语言,但是编写Python 代码并不需要预先掌握计算机科学的全部知识。
它在友好性和易用性方面有很大的优越性,这使得Python 成为一种风靡全球的编程语言。
50种python

50种python以下是50种Python相关的内容,涵盖了Python的各个方面:1.Python基础语法:变量、数据类型、运算符、条件语句、循环语句等。
2.Python函数:定义函数、参数传递、局部变量与全局变量、匿名函数等。
3.Python模块与包:导入模块、自定义模块、包的概念与使用等。
4.Python文件操作:读取文件、写入文件、文件路径操作等。
5.Python异常处理:try-except语句、自定义异常等。
6.Python面向对象编程:类与对象、继承、封装、多态等。
7.Python常用库:NumPy、Pandas、Matplotlib等数据处理与可视化库。
8.Python网络编程:Socket编程、HTTP请求与响应、Web框架(如Flask、Django)等。
9.Python数据库编程:连接数据库、执行SQL语句、ORM框架(如SQLAlchemy)等。
10.Python多线程与多进程:线程与进程的概念、创建与管理、线程同步与进程通信等。
11.Python装饰器:概念、用法与示例。
12.Python生成器:概念、用法与示例。
13.Python迭代器:概念、用法与示例。
14.Python上下文管理器:概念、用法与示例。
15.Python正则表达式:概念、语法与示例。
16.Python JSON处理:JSON数据的解析与生成。
17.Python XML处理:XML数据的解析与生成。
18.Python网络爬虫:爬虫框架、数据抓取、数据存储等。
19.Python机器学习:使用Scikit-learn库进行机器学习模型的训练与应用。
20.Python深度学习:使用TensorFlow或PyTorch库进行深度学习模型的训练与应用。
21.Python图形界面开发:使用Tkinter、PyQt或wxPython等库进行GUI开发。
22.Python游戏开发:使用Pygame等库进行游戏开发。
23.Python数据结构与算法:常见的数据结构与算法在Python中的实现。
python的基本概念

Python的基本概念一、什么是PythonPython是一种高级编程语言,由Guido van Rossum于1989年创造。
它具有简洁、易读和易维护的语法,被广泛应用于软件开发、数据分析、人工智能等领域。
Python的设计理念强调代码的可读性和简洁性,使得它成为学习编程的入门语言之一。
二、Python的特点Python具有许多独特的特点,使其成为开发者和数据科学家的首选语言。
2.1 简洁明确的语法Python使用缩进来表示代码块,而不是使用大括号,使得代码更加清晰易读。
此外,Python的语法设计非常简洁,可以用更少的代码实现相同的功能,提高编码效率。
2.2 动态类型Python是一种动态类型语言,这意味着变量的类型在运行时才确定。
开发者无需显式地声明变量类型,可以直接在代码中使用变量,简化了开发过程。
2.3 大量的标准库Python内置了丰富的标准库,涵盖了各种常用的功能,包括文件操作、网络通信、数据库连接等。
这些标准库极大地简化了开发者的工作,提高了开发效率。
2.4 生态系统丰富除了标准库外,Python还有一个庞大的第三方库生态系统。
开发者可以通过使用第三方库来扩展Python的功能,如NumPy、Pandas、TensorFlow等,使得Python成为科学计算和数据分析的首选语言。
三、Python的基本语法和数据类型3.1 变量和数据类型在Python中,使用变量来存储数据。
变量可以是整数、浮点数、字符串等多种数据类型。
Python提供了丰富的数据类型,如列表、元组、字典等,用于存储和操作不同类型的数据。
3.2 控制流语句Python提供了丰富的控制流语句,如条件语句和循环语句。
条件语句用于根据条件来执行不同的代码块,循环语句用于重复执行一段代码。
3.3 函数和模块函数是Python中的一种代码组织方式,用于封装可重用的代码块。
开发者可以自己定义函数,并在需要时调用。
模块是一组相关函数和数据的集合,可以通过导入模块来使用其中的功能。
python的定义

python的定义Python是一种高级的、解释型的编程语言,由Guido van Rossum在1989年开发并首次发布。
它被广泛应用于各种领域,包括软件开发、网络编程、科学计算、人工智能等。
Python以其简洁、易读和易学的特性,成为初学者和专业程序员的首选语言之一。
本文将介绍Python 的定义、特性以及应用领域。
定义:Python是一种面向对象的编程语言,它的语法简洁而清晰,代码具有很高的可读性。
Python的设计理念强调代码的易于理解和编写,这使得它成为一种非常适合初学者入门的编程语言。
与其他编程语言相比,Python更注重代码的简洁性和可读性,通过使用缩进来表示代码块,而不是像其他语言那样使用大括号。
这种语法特性使得Python在可读性上更胜一筹。
特性:Python拥有许多独特的特性,使得它备受开发者的青睐。
首先,Python具有动态类型系统,这意味着变量的类型在运行时才被确定。
这使得程序编写更为灵活,但也需要开发者更加谨慎地处理变量类型的转换。
其次,Python支持自动内存管理,开发者无需手动分配和释放内存,这极大地简化了编程的过程。
此外,Python还提供了丰富的内置函数和模块,方便开发者进行各种操作和功能扩展。
应用领域:由于Python的易学性和强大的功能,它被广泛应用于各个领域。
首先,在Web开发方面,Python的Web框架(如Django和Flask)提供了快速而高效的开发环境,使得用户能够快速构建强大的Web应用程序。
其次,在科学计算领域,Python的科学计算库(如NumPy和SciPy)提供了大量的数学和科学计算函数,支持数据分析、机器学习等任务。
此外,Python还被广泛应用于网络编程、自动化脚本、游戏开发等领域。
总结:Python是一种简洁、易读和易学的编程语言,具有动态类型系统、自动内存管理等特性。
它广泛应用于软件开发、网络编程、科学计算等领域,并且拥有丰富的库和框架来支持各种任务和功能。
Python知识点整理

Python知识点整理为了更好地了解和学习Python编程语言,以下是一些Python 知识点的整理:一、Python入门1. Python的历史Python是由Guido van Rossum于1989年在荷兰创造的。
它最初被设计为一种易于阅读的编程语言,从而提高了代码的可读性和可维护性。
2. Python的特点Python有很多特点,包括:- 简单易学- 代码可读性强- 支持面向对象编程- 丰富的库和扩展模块- 可移植性好3. Python的安装在安装Python之前,我们需要确定要安装的Python版本。
Python 2.7和Python 3.x是当前主流的两个版本。
在安装Python之前,我们需要下载适合我们操作系统的安装程序。
可以从Python官方网站下载Python。
在安装过程中,建议勾选“Add Python to PATH”选项,这样Python将会被添加到您的系统变量中,并且您可以使用命令行来运行Python。
二、Python数据类型Python中有多种常见的数据类型,如整数、浮点数、字符串和布尔值等。
以下是重点:1. 整数Python的整数是没有任何大小限制的。
它们可以是正数、负数或零。
例如:x = 10 # 正整数y = -5 # 负整数z = 0 # 零2. 浮点数Python的浮点数用于处理小数。
浮点数与整数有所不同,因为它们可以存储小数位。
x = 3.5 # 正浮点数y = -2.1 # 负浮点数3. 字符串字符串是Python中最常见的数据类型之一。
它们是由引号包含的一些字符组成的。
例如:x = "Hello, World!" # 字符串4. 布尔值布尔值是一种数据类型,它的值只能是True或False。
例如:x = True # 真y = False # 假5. 列表在Python中,列表是一种数据结构,它允许我们在一个变量中存储多个值。
mylist = [1, 2, 3, 4, 5] # 列表6. 元组元组与列表类似,它们允许我们在一个变量中存储多个值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网民原创Python DJango手册环境搭建项目创建项目配置应用创建数据访问数据编辑网民2011/9/22目录1.环境 (3)1.1.安装Python (3)1.1.1.说明 (3)1.1.2.安装 (3)1.1.3.验证 (3)1.1.4.卸载 (4)1.2.安装DJango (5)1.2.1.说明 (5)1.2.2.安装 (5)1.2.3.验证 (5)1.2.4.卸载 (6)2.起步 (7)2.1.项目 (7)2.1.1.创建项目 (7)2.1.2.运行项目 (7)2.2.后台 (8)2.2.1.说明 (8)2.2.2.引用库 (8)2.2.3.Sqlite3数据库 (8)2.2.4.URL (9)2.3.模块 (10)2.3.1.创建模块 (10)2.3.2.创建数据 (10)2.3.3.添加数据 (11)2.3.4.创建页面 (12)2.3.5.创建映射 (12)2.3.6.配置映射 (12)2.3.6.1.模块MVC (13)2.3.6.2.项目MVC (13)2.3.7.访问数据 (14)2.3.7.1.模块C (14)2.3.7.2.模块V (14)2.3.7.3.项目C (15)2.3.8.编辑数据 (16)2.3.8.1.模块V (16)2.3.8.2.模块C (16)1.环境1.1.安装Python1.1.1.说明python安装文件可从下载;例如python-2.7.2.msi;1.1.2.安装1)运行python安装文件,例如“python-2.7.2.msi”;2)建议安装路径:.\\PythonServer\\PythonXXX;例如,python的版本是2.7.2,则安装路径为“.\\PythonServer\\Python272”,这样其他python相关的安装程序都可以放到.\\PythonServer下,且能看清python版本;3)增加系统环境变量,在path内增加python根目录路径,例如“D:\\PythonServer\\Python272”;1.1.3.验证1)进入WINDOWS命令行界面;2)输入“python”,则进入python的命令行,可以看到python的版本信息和命令符;3)输入python代码,例如“print ‘pyton is ok’”,会看到python打印出一行“python is ok”,说明python安装成功;4)退出python命令行,输入“exit()”或按下“Ctrl+Z”皆可;1.1.4.卸载1)开始菜单->所有程序->python->卸载即可;2)如果添加过操作系统环境变量,则手动删去;1.2.安装DJango1.2.1.说明DJango框架安装文件可从下载;例如Django-1.3.tar.gz;1.2.2.安装1)解压Django-1.3.tar.gz;任何路径皆可;例如“D:\\Django-1.3”;2)解压后的文件夹里可以看到有一个文件“setup.py”;3)进入WINDOWS命令行界面,输入“cd D:\\Django-1.3”;4)运行命令“python setup.py install”;5)自动安装完毕;6)增加环境变量,在path内添加django的根目录路径,例如:“D:\PythonServer\Python272\Lib\site-packages\django”以及“D:\PythonServer\Python272\Lib\site-packages\django\bin”;1.2.3.验证1)进入WINDOWS命令行界面;2)输入“python”进入python命令行;3)输入python命令>>import django>>print django.VERSION如果打印出DJango的版本信息,例如“(1, 3, 0, 'final', 0)”,说明安装成功;1.2.4.卸载1)找到python安装目录下的子目录,例如“D:\PythonServer\Python272\Lib\site-packages”;2)可以看到有一个“django”文件夹和“Django-1.3-py2.7.egg-info”文件,将该文件和该文件删除即可完成卸载;3)如果添加过操作系统环境变量,则手动删去;2.起步2.1.项目2.1.1.创建项目1)打开操作系统命令行界面;2)创建项目的django命令为“django-admin.pyc”;3)参数示例:django-admin.pyc startproject FirstDJProject表示工程目录为“FirstDJProject”;4)注意,当前系统命令行的位置即为项目路径,因此,需提前在命令行里定位到要存放项目的路径,再进行项目创建;5)创建好项目后,项目路下有N个文件;2.1.2.运行项目1)在系统命令行界面下定位到项目路径;2)项目路径下的manage.py即为该项目的管理文件;关于该项目的很多功能都通过该管理文件来启动;3)输入“python manage.py runserver”即刻启动django自带的可作为开发调试用的WEB服务器;4)看到提示“Development server is running at http://127.0.0.1:8000/”表示项目后台已经开始运行;5)打开浏览器里,输入http://127.0.0.1:8000/,看到“It worked!”提示,表示项目搭建成功;2.2.后台2.2.1.说明django自带一个后台管理界面,但是,在访问后台管理界面前,需要先进行如下配置:1)配置引用库;2)配置数据库;3)配置URL;如果使用sqlite3数据库,不需要任何其他的安装,因为从Python2.5开始,sqlite3就已经是python的标准模块,这也是pyton中一个唯一的数据库接口类模块;如果使用其他数据库例如mysql,则需要进行相应的安装;后续的示例使用sqlite3数据库;2.2.2.引用库1)打开项目下的settings.py文件;2)找到INSTALLED_APPS配置;3)增加引用库’django.contrib.admin’;配置文件中已存在,只需去掉注释;4)该文件里一般默认都引用了auth、contenttypes、sessions、sites等库;2.2.3.Sqlite3数据库1)打开项目下的settings.py文件;2)找到DATABASES配置;3)配置ENGINE为“django.db.backends.sqlite3”;配置文件中原有“django.db.backends.”,只需增加对应的数据库名;4)配置NAME为sqlite3数据库存放路径和名称,例如D:\PythonServer\StudyPython\FirstProject\MySqlite3.db;5)运行命令“python manage.py syncdb”,即自动创建后台所需的数据库,同时会提示需要创建账户,可输入yes来创建,也可输入no,自己手动创建;命令执行完毕后,可以找到NAME配置的数据库文件;6)如果手动创建账户,则运行命令“python manage.py createsuperuser”;2.2.4.URL1)打开项目下的urls.py文件;2)输入代码from django.contrib import adminadmin.autodiscover()配置文件中已存在该代码,只需去掉注释即可;3)找到配置项urlpatterns,增加如下配置url(r'^admin/', include(admin.site.urls)),配置文件中已存在该代码,只需去掉注释即可;4)输入“python manage.py runserver”启动项目服务器;5)在浏览器中打开“http://127.0.0.1:8000/admin/”,即可看到后台管理界面,需要输入之前创建的账户才能进入管理;2.3.模块2.3.1.创建模块目前的项目中还没有任何自己的应用模块,全是框架自动生成的东西;可以创建自己的应用模块,在模块内创建数据表,并添加自己的页面;1)输入命令“python manage.py startapp xxx”,其中xxx是模块的名称,例如:python manage.py startapp art2)此时在项目路径下多了一个名称为art的文件夹,该文件夹内保存的是与该模块相关的文件;3)打开项目下的settings.py文件,找到INSTALLED_APPS配置;4)增加针对该模块的引用’FirstProject.art’;2.3.2.创建数据1)打开模块目录下的models.py文件,该文件是MVC中的M,负责应用的数据结构;2)文件中原有一句“from django.db import models”,现增加如下代码:class TB1(models.Model):content = models.CharField(max_length = 500)submit_date = models.DateTimeField(‘auto_now_add’) 表示要创建一个数据表,而该数据表的访问类名为TB1;以此方式可以创建多个数据表;3)输入命令“python manage.py sql art”,可以查看自动生成的针对art模块下的所有数据表的sql创建代码,例如:BEGIN;CREATE TABLE "art_tb1" ("id" integer NOT NULL PRIMARY KEY,"content" varchar(500) NOT NULL,"submit_date" datetime NOT NULL);CREATE TABLE "art_tb2" ("id" integer NOT NULL PRIMARY KEY,"content" varchar(100) NOT NULL,"submit_date" datetime NOT NULL);COMMIT;从该段代码可看出,数据表属于art模块,名称为art_tb1,针对该数据表的操作MODEL名称为TB1;4)运行命令“python manage.py syncdb”则自动创建出数据表;2.3.3.添加数据1)在系统命令行模式下,定位到项目路径;2)输入命令“python manage.py shell”进入专门针对该项目的命令行模式;3)输入如下代码来添加数据:>>from art.models import TB1 //从art模块导入TB1 MODEL >>from datetime import datetime //导入框架的datetime>>Art.objects.create( //objects表示数据表里的行content = ‘MyContent1’, //content字段submit_date=datetime.now()) //submit_date字段>>…//以此方式添加多条数据4)接着可使用如下的代码简单的获取到数据表内的数据:>>all_line = TB1.objects.all() //获得TB1的所有行>>print all_line[1].content //打印第一行的content字段2.3.4.创建页面1)页面一般统一放在ProjectPath\Templates目录下;Templates是较常用的名称,也可自行更改;2)在Templates下,针对应用模块的名称再单独创建子目录;3)例如“ProjectPath\Templates\art”表示该目录下存放的是针对art模块的页面;4)这些页面就是MVC中的V,负责应用的视图;5)在“ProjectPath\Templates\art”下创建一个最简单的静态的html页面,但注意html文件的编码方式需要为utf8;2.3.5.创建映射1)打开模块目录下的views.py文件,该文件是MVC中的C,负责应用的逻辑处理;2)写入如下代码:from django.shortcuts import render_to_responsedef MyFirstView(rq):return render_to_response('art/Static1.html')3)函数MyFirstView只做一件事情,就是把页面跳转到art目录下的Static1.html;注意,该路径用的是相对路径,也就是会在Templates目录下寻找“art/Static1.html”,之所以能到Templates目录下寻找,就是后续的配置映射做到的;2.3.6.配置映射在一个项目内创建模块,并使用该模块,全部步骤可以分为两个部分:模块MVC 和项目MVC;2.3.6.1.模块MVC按照之前的描述,在项目内创建一个模块时,按照MVC的思路分为三个步骤:1)M:即创建模块并在模块的models.py中创建数据;2)V:即在“项目\Templates\模块”目录下创建该模块对应的各个页面;3)C:即在模块的views.py中创建各个逻辑控制函数;2.3.6.2.项目MVC在完成一个模块的MVC之后,还需要在项目级别按照MVC的思路进行配置:1)M:打开项目下的settings.py文件,找到INSTALLED_APPS配置;增加针对该模块的引用’FirstProject.art’;2)V:打开项目下的settings.py文件,找到TEMPLATE_DIRS配置;写入模版路径:TEMPLATE_DIRS = ('Templates')因此,编写控制函数时,如下的代码使得系统在Templates内寻找相应文件:return render_to_response('art/Static1.html');3)C:打开项目下的urls.py文件;找到配置项urlpatterns,增加配置:url(r'^test/', 'FirstProject.art.views.MyFirstView')或者url(r'^test/', 'art.views.MyFirstView');4)完成了模块MVC和项目MVC配置后,在浏览器中打开“http://127.0.0.1:8000/test/”,即可看到art/Static1.html页面;2.3.7.访问数据2.3.7.1.模块C创建一个模块的控制器,用来生成页面数据以供页面显示;打开模块目录下的views.py文件,添加函数如下:注意:1)该控制器返回给页面使用的数据类型是一个列表,名称为’all_lines’;2)在一个函数内,一定要注意缩进方式,如果用空格缩进,则所有行都只能用空格来缩进,如果用TAB缩进,则所有行都只能用TAB来缩进,否则会报告IndentationError错误;2.3.7.2.模块V在对应的模块页面目录下创建一个UTF8编码的DataView.html文件,用来显示模块控制器所生成的数据:注意,在HTML代码内使用python脚本时,1)使用{% %}来包含python脚本;2)使用{{ }}来包含要显示的变量内容;该HTML代码翻译为自然语言如下:2.3.7.3.项目C1)打开项目下的urls.py文件;2)找到配置项urlpatterns,增加配置:url(r'^viewdata/', 'art.views.MyDataView'),3)打开浏览器访问http://127.0.0.1:8000/viewdata/;则可以看到页面显示出目前的art_tb1数据表内的每一行的content内容;2.3.8.编辑数据为了实现编辑数据的功能,可以在之前“访问数据”的基础上进行升级,只需要升级模块V和模块C即可;2.3.8.1.模块V在原DataView.html文件的基础上,增加一个form,包含一个编辑框来提交数据:1)声明该form的”method”是get还是post,从而在模块C中可以用request对象里的POST或GET属性来完成表单元素访问;2)该form的”action”配置表明,按下提交按钮后,浏览器将访问http://127.0.0.1:8000/viewdata/;3)由此可见,对于页面(模块V)来说,永远只考虑“发送请求给某个URL”,而具体该URL由哪个控制器(模块C)来处理,是由配置来决定的;4)有一个输入框,name为”new_content”表明在模块C中可以通过request.POST.new_content来访问该元素;5)该页面目前的功能为:首先显示模块C生成的数据,其次可以提交用户所输入的新的content值;2.3.8.2.模块C根据目前模块V的升级,http://127.0.0.1:8000/viewdata/的请求到来时有两种情况,但这两种情况都配置给同一个模块C的函数“MyDataView”:1)没有请求数据,即POST中没有数据;2)有请求数据,即POST中包含一个新的content值;因此,在原views.py文件的“MyDataView”函数基础上进行升级:此时再访问http://127.0.0.1:8000/viewdata/,可以看到:1)页面首先显示目前art_tb1数据表中的所有数据;2)接着显示一个输入框,可以输入新的content数据并提交;3)提交数据后,页面刷新,再次显示目前art_tb1数据表中的所有数据,可看到刚输入的新的content内容已经被加入到数据表中;4)如果报告403错误,则在项目配置文件settings.py中保证引用了如下两个模块:'django.middleware.csrf.CsrfViewMiddleware','django.middleware.csrf.CsrfResponseMiddleware'。