Django学习day1

Django 简介

背景及介绍

  • Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
  • Django 项目是一个python定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:
    1. 用于创建模型的对象关系映射
    2. 为最终用户设计的完美管理界面
    3. 一流的 URL 设计
    4. 设计者友好的模板语言
    5. 缓存系统。
  • Django 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。
  • Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。
  • 由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SD Times评选为2013 SD Times 100,位列“API、库和框架”分类第6位,被认为是该领域的佼佼者[1] 。

Web 框架简单,易学易上手,但是自己要着手处理很多问题。
框架复杂,学习周期稍长,但是很多问题框架已经处理或屏蔽。

  • 同类框架—> tornado flask
  • 2005年面世, 目前比较成熟的版本:1.10.1,支持python2.7、3.4、3.5

Django 架构设计

Django是一个基于MVC构造的框架。不过在Django中、控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。

MVC

  • 大部分开发语言中都用到MVC框架
  • MVC框架的核心思想是:解耦
  • 降低各功能模块值间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用
  • M:表示Model,只要用于对数据库层的封装
  • V:表示View,用于向用户展示结果
  • C:表示Controller,是核心,用于处理请求,获取数据,返回结果

MVT

  • M:Model 模型 负责业务对象和数据对象,处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。(即与数据库进行相关交互操作)
  • T:Template 模板 存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。即(页面展示)
  • V:View 视图 处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。(业务逻辑的实现)
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ex2j6onk-1570601863846)(MVT.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rhBrFEwZ-1570602015052)(MVT.png)]

Django 工作机制

  1. 用manage .py runserver 启动Django服务器时就载入了在同一目录下的settings .py。该文件包含了项目中的配置信息,如前面讲的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Django哪个Python模块应该用作本站的URLConf,默认的是urls.py
  2. 当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。
  3. 然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)
  4. 最后该view函数负责返回一个HttpResponse对象。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L5yicwXe-1570601863854)(1.png)]

Django特点

  • 强大的数据库支持:用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句
  • 灵活的URL转发:使用正则表达式匹配URL,你可以设计任意的URL,没有框架的特定限定,灵活高效。
  • 强大的模板系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。
  • 便捷的表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。
  • 缓存系统:与memcached或其它的缓存系统联用,更出色的表现,更快的加载速度。
  • 会话系统:内置session存储技术用户登录与权限检查,快速开发用户会话功能。
  • 国际化:内置国际化系统,方便开发出多种语言的网站。

学习资料

1.入门

  • 1.1 环境搭建
  • 1.2 定义模型
  • 1.3 使用后台管理
  • 1.4 编写视图
  • 1.5 定义模板

1.1搭建开发环境

Windows创建虚拟环境

  • pip install virtualenv 或者 pip install virtualenvwrapper-win
  • 安装完成后创建虚拟环境:virtualenv 虚拟环境名 或者 mkvirtualenv 虚拟环境名称
  • 进入到Script中执行activate启动虚拟环境 或者 workon 虚拟环境名称
  • 进入到Script中执行deactivate关闭虚拟环境 或者 deactivate
  • 查看当前环境的扩展包:pip list
  • pip install django==1.11
  • 详细说明:https://blog.csdn.net/submarineas/article/details/84551883
  • 验证是否安装成功,在python交互式命令下:
import django
django.VERSION
(1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值