django入门

一、 Django介绍

1、什么是框架

只要你知道一点构建动态网站是怎么回事的话,那么就一定能体会到不断重复地发明某些标准特性是多么痛苦的一件事情。你得创建数据库结构,把数据导人导出数据库,处理URL,验证用户输人,提供编辑工具,还得关心安全性和可用性。
        终于,你意识到每次都重新实现这些特性实在是太浪费生命了。所以,你决定要重新开发一套自己的库来提供这些功能。或者说,从你最新的“创造"中把这些库提取出来。之后,如果要开始一个新项目的话,你第一件要做的事情就是安装你的库。这能大大节约你的工作时间。
       但是,事情可没那么简单。如果客户需要的特性不在你的库里怎么办,没关系,加进来就好了。而每个客户都需要不同的东西,结果就变成你在每个服务器上安装的库都有不同的版本。这绝对是没有办法维护的。
       有了教训以后,你回过头来把基础库和最好的add-on从各个项目里拿出来重新组合在一起。对绝大多数项目来说你不再需要直接调整库代码,只需要改动一下配置文件就可以了,虽然你的代码库越来越大、越来越复杂,但是它也变得非常强大。这个代码库就是所谓的Web框架。

Django是一个高级Python Web框架,劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,

Django遵守BSD版权,初次发布于2005年7月,   并于2008年9月发布了第一个正式版本1.0。

2Django特点

1、开发速度快,Django旨在帮助开发人员尽可能快地从概念到应用程序。

2、功能齐全,Django包含了许多可用于处理常见Web开发任务的额外功能,用户身份验证,内容管理,站点地图,RSS源以及许多其他任务。

3、安全性高,Django非常重视安全性,并帮助开发人员避免许多常见的安全错误,例如SQL注入、跨站点脚本、跨站点请求伪造。它的用户身份验证系统提供了一种安全的方法来管理用户账户和密码。

4、Django采用了MVC的软件设计模式,即模型M,视图V和控制器C,并且取了个名字叫MVT。

3MVC模型的介绍

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型

(Model)、视图(View)和控制器(Controller)。

MVC模式最早由Trygve Reenskaug在1978年提出[1] ,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式,是为了将传统的输入(input)、处理(processing)、输出

(output)任务运用到图形化用户交互模型中而设计的。随着标准输入输入设备的出现,开发人员只需要将精力集中在业务逻辑的分析与实现上。后来JAVA EE采用MVC的设计模式,这种分工开发的方式受到了广大开发者的认

可,后来包括java,php,python等语言都有MVC设计模式的框架。

MVC框架的核心思想是解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性。

MVC模式把用户界面交互分拆到不同的三种角色中,使应用程序被分成三个核心部件:Model(模型)

View(视图)Control(控制器)

Model     主要封装对数据库层的访问,内嵌ORM框架,实现面向对象的编程来操作数据库。

View   用于封装结果,内嵌了模板引擎,实现动态展示数据

Controller     用于接收用户请求,处理业务逻辑,与Model和View交互,返回结果

在MVC模型中,如果不需要查询数据库,那么Controller将不会与Model交互,直接与View交互,返回html页面。

 

 

4MVT模型介绍

MModel,与MVC中的M功能相同,负责数据处理,内嵌了ORM框架

VView,与MVC中的C功能相同,接收请求,业务处理,返回响应

TTemplate,与MVC中的V功能相同,负责封装构造要返回的html,内嵌了模板引擎

 

 
   

 

 

虚拟环境搭建

在开发中安装模块的方法:

 

 

之前我们安装模块都是直接在物理环境下安装,这种安装方法,后面一次安装的会覆盖掉前面一次安装的。那如果一台机器上面开发多个项目使用到不同版本的模块呢?怎么样做才能不受版本影响!那么需要用到虚拟环境,每个虚拟环境互相隔离,在一个虚拟环境中安装卸载模块其他不受影响!

1. python虚拟环境安装

 

 
   

 

Windows创建虚拟环境

选择一个用来存放虚拟环境的文件,如E:/python3

cd E:python3  # 进入该文件

virtualenv envname   # 创建一个名字为envname的虚拟环境

dir     # 查看当前目录可以知道一个envname的文件已经被创建

 

virtualenv -p python2 envname  # 如果安装了多个python版本,如py2和py3,需要指定使用哪个创建虚拟环境

注意:如果不识别virtualenv命令,可能是python安装路径没添加到系统环境变量或没安装virtualenv或没有重新打开一个cmd窗口;

启动虚拟环境

# 进入虚拟环境文件

cd envname

# 进入相关的启动文件夹

cd Scripts

activate  # 启动虚拟环境

deactivate # 退出虚拟环境

 

2.虚拟环境中安装指定版本号的模块

1.在虚拟环境中安装模块,直接使用pip安装就可以。

 
   

 

 

2.查看虚拟环境下安装了那些包

 
   

 

 

3.项目开发完成,需要上线时,将开发环境使用的包,导出安装到生产环境下。

 
   

 

 

4.将开发环境导出的包的文件requirements.txt,安装到生产环境

 
   

 

 

创建项目

1、创建一个博客项目

django的项目结构是由多个应用组成,每一个应用实现不同的功能。

安装好django之后,django提供了一个管理工具 django-admin.py,可以使用 django-admin.py 来创建一个项目。

下面我们来创建一个博客项目,项目名称叫blog。环境说明:

django   版本1.8.2  这个版本比较稳定,资料比较多,所以本课程使用1.8.2版本

python 3.5.2

unbuntu 16.04

1、在家目录创建一个文件夹保存项目

 
   

 

 

2、进入刚才创建的虚拟环境,创建名称为blog博客项目

 

 

执行完命令后在myblog目录下生成一个名问blog项目文件夹。

 
   

 

执行这条命令之后自动创建了一个名为blog项目,并且django帮我们生成了5个文件。     简单介绍下文件:

manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互 blog/ init .py:一个空文件,告诉 Python 该目录是一个 Python 包。 blog/setting.py:项目的配置文件

bolg/urls.py:URL分发器(路由配置文件)

blog/wsgi.py:项目与WSGI兼容的Web服务器入口

3、运行项目

 
   

 

 

看到下面这行提示说明服务已经运行起来

 
   

 

在浏览器中访问:http:127.0.0.1:8000看到下面这个界面说明项目已经正确创建

 

 

默认情况下,runserver命令在内部IP的8000端口启动开发服务器。 如果你需改变服务器的端口,把要使用的端口作为一个命令行参数传递给它。 例如,这个命令在8080端口启动服务器:

 
   

 

 

如果你需改变服务器的IP地址,把IP地址和端口号放到一起。    因此若要监听所有的外网IP,请使用:

 
   

 

 

2、应用创建

前面提到django项目中一个应用实现一个功能,那刚才创建好了项目,现在我们来创建一个应用。 1、创建一个名称为personal_blog的应用

 
   

 

 

创建好应用后的整个项目的目录结构:

 

 

创建好应用之后的文件介绍:

db.sqlite3   文档型的轻量级数据库,django默认使用sqlite数据库

personal_blog  应用目录名

admin.py  web后台管理,用于注册模型类

migrations  保存迁移时生成的文件

models.py  编写模型类,就是MVT模型中的M

tests.py  用于开发测试类

views.py  编写视图函数,MVT模型中的V

3、安装应用

Django 应用是可以“热插拔”的,即可以在多个项目中使用同一个应用,也可以分发这些应用, 因为它们不需要与某个特定的Django安装绑定。

编辑blog/settings.py文件,并修改INSTALLED_APPS设置以包含应用的名称'personal_blog'。如下代码:

 
   

 

 

前面的这些应用是django自带的应用,如果我们需要新加应用,只需要往后面加。

项目与应用的关系:

应用是一个Web应用程序,它完成具体的事项   ——  比如一个博客系统,一个简单的投票应用。

项目是一个特定网站中相关配置和应用的集合,一个项目可以包含多个应用,一个应用可以运用到多个项目中去。

posted @ 2019-08-08 07:45  cyc5528  阅读(110)  评论(0)    收藏  举报