Django学习基础部分(1)

Django介绍

Django是一种基于python的Web开发框架,可以快速开发安全和可维护的网站,它是开源的,拥有活跃的社区和文档。

Django是一个由Python编写的具有完整架站能力的开源Web框架。使用Django,只要很少的代码,Python的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。

Django本身基于MVC模型,即Model(模型)+View(视图)+ Controller(控制器)设计模式,因此天然具有MVC的出色基因:开发快捷、部署方便、可重用性高、维护成本低等。Python加Django是快速开发、设计、部署网站的最佳组合。

下面介绍下Django的一些特点

完备性

遵循功能完备的理念,提供开发人员可能想要开箱即用的几乎所有功能。

通用性

它可以用于构建几乎任何类型的网站,例如一些内容管理系统、维基、社交网络、新闻网站等

安全性

默认情况下,它可以防范许多漏洞,包括SQL注入,跨站点脚本,跨站点请求伪造和点击劫持等

可扩展

Django使用基于组件的”无共享“架构,在不用部分之间有明确的分隔意味着它可以通过在任何级别添加硬件来扩展服务

可维护性

Django代码编写是遵照设计原则和模式,鼓励创建可维护和可重复使用的代码,特别是它使用了不要重复自己DRY原则,所以没有不必要的重复,减少了代码的数量,Django还将相关功能分组到可重用的应用程序中,并且在较低级别将相关代码分组或模块

灵活性

它可以不受任务特定的服务器平台的限制,并且可以在许多种类的平台运行应用程序。

 

MTV设计模式

Django对传统的MVC设计模式进行了修改,将视图分成View模块和Template模块两部分,将动态的逻辑处理与静态的页面展现分离开。而Model采用了ORM技术,将关系型数据库表抽象成面向对象的Python类,将表操作转换成类操作,避免了复杂的SQL语句编写。MTV和MVC本质上是一样的。

 

 

模型(Model):模型 是定义应用程序数据结构的Python对象,并提供在数据库中管理(添加,修改,删除)和查询记录的机制。

View:  视图 是一个请求处理函数,它接收HTTP请求并返回HTTP响应。视图通过模型访问满足请求所需的数据,并将响应的格式委托给  模板。

Templates: 模板 是定义文件(例如HTML页面)的结构或布局的文本文件,用于表示实际内容的占位符。一个视图可以使用HTML模板,从数据填充它动态地创建一个HTML页面模型。可以使用模板来定义任何类型的文件的结构; 它不一定是HTML!

URLs.py: 虽然可以通过单个功能来处理来自每个URL的请求,但是编写单独的视图函数来处理每个资源是更加可维护的。URL映射器用于根据请求URL将HTTP请求重定向到相应的视图。URL映射器还可以匹配出现在URL中的字符串或数字的特定模式,并将其作为数据传递给视图功能

views.py:视图是Web应用程序的核心,从Web客户端接收HTTP请求并返回HTTP响应。在两者之间,他们编制框架的其他资源来访问数据库,渲染模板等。

models.py:模型定义存储数据的结构,包括字段类型  以及字段可能的最大值,默认值,选择列表选项,文档帮助文本,表单的标签文本等。模型的定义与底层数据库无关 -您可以选择其中一个作为项目设置的一部分。一旦您选择了要使用的数据库,您就不需要直接与之交谈 - 只需编写模型结构和其他代码,Django可以处理与数据库通信的所有辛苦的工作

 

创建一个Django应用

运行以下命令来创建

django-admin startproject myapp

  

创建完成后的目录结构如下

myapp/
    manage.py
    myapp/
        __init__.py
        settings.py
        urls.py
        wsgi.py

 

各文件和目录解释:

  • 外层的myapp/目录与Django无关,只是你项目的容器,可以任意重命名。
  • manage.py:一个命令行工具,用于与Django进行不同方式的交互脚本,非常重要!
  • 内层的myapp/目录是真正的项目文件包裹目录,它的名字是你引用内部文件的包名,例如:myapp.urls
  • myapp/__init__.py:一个定义包的空文件。
  • myapp/settings.py:项目的主配置文件,非常重要!
  • myapp/urls.py:路由文件,所有的任务都是从这里开始分配,相当于Django驱动站点的内容表格,非常重要!
  • myapp/wsgi.py:一个基于WSGI的web服务器进入点,提供底层的网络通信功能,通常不用关心。

 

启动Django应用

python manage.py runserver

直接打开浏览器访问localhost:8000即可

 

以上的Django版本为Django2.2,2


可以关注下我的微信公众号哦,一起学习进步

 

 

posted @ 2020-03-29 15:31  dogfei  阅读(107)  评论(0)    收藏  举报