Django框架简介

MVC框架和MTV框架

MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。

想要更详细的了解MVC模式? >> 点我

Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性。

Django框架的不同之处在于它拆分的三部分为:Model(模型)、Template(模板)和View(视图),也就是MTV框架。

Django的MTV模式

Model(模型):负责业务对象与数据库的对象(ORM)

Template(模版):负责如何把页面展示给用户

View(视图):负责业务逻辑,并在适当的时候调用Model和Template

此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

Django框架图示

Django安装和基本使用

安装Django,指定国内pip源

pip3 install django==1.11.18 -i https://pypi.douban.com/simple/

Django官网下载页面

创建Django项目

下面的命令创建了一个名为"webapp"的Django 项目:

django-admin startproject webapp

项目创建完成,会在当前目录下生成一个目录

webapp/
├── manage.py  # 管理文件
└── mysite    # 项目目录├── __init__.py├── settings.py  # 配置├── urls.py  # 路由 --> URL和函数的对应关系└── wsgi.py  # runserver命令就使用wsgiref模块做简单的web server

运行Django项目:

默认是8000端口

[root@yunwei-test webapp]# python3 manage.py runserver 0.0.0.0:9999

pycharm创建Django项目

pycharm会自动创建模板目录

启动项目

Django settings

# 项目根目录
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))# ip地址访问权限
ALLOWED_HOSTS = ['*']   # app注册列表
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',
]# 中间件
MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',
]# 模板文件(HTML文件)
TEMPLATES [{'DIRS': [os.path.join(BASE_DIR, 'templates')]  # HTML文件路径,pycharm会自动创建和添加。 命令行创建项目需要自己添加
}]# 数据库配置
DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3',        #  数据库类型'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),    # 要连接的库}
}# 静态文件别名,以/static/开头
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')   # 实际的静态文件目录路径
]

django配置文件

Django创建 app

一个Django项目可以分为很多个APP,用来隔离不同功能模块的代码。

python manage.py startapp app01

执行命令后,项目目录下多出一个app01的文件夹,目录结构如下:

[root@yunwei-test webapp]# tree app01/
app01/
├── admin.py        #  admin管理后台
├── apps.py         #  app
├── __init__.py  
├── migrations        # 数据库迁移的文件
│   └── __init__.py    
├── models.py        # ORM
├── tests.py      
└── views.py        #  函数功能

在settings配置文件中注册app

# 在app列表中添加上INSTALLED_APPS = ['app01.apps.App01Config'
]

Django函数

from django.shortcuts import HttpResponse, render, redirect

参数

必须接受一个参数 request

所有和浏览器请求相关的都在 request 中
request.method  GET POST(大写)       # 获取请求方式
request.POST.get('input中的name属性值')     # 获取form表单提交的数据,字符串类型(form表单使用POST提交时)
request.GET                       # url地址上携带的参数
例如:http://127.0.0.1/login/?user=xxx&pwd=xxx
获取到的数据: <QueryDict: {'user': ['xxx'], 'pwd': ['xxx']}>

request.path_info                # url路径

返回值

必须是一个HttpResponse对象

HttpResponse

内部传入一个字符串参数,返回给浏览器。

例如:

def index(request):# 业务逻辑代码return HttpResponse("OK")

render

除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。

将数据填充进模板文件,最后把结果返回给浏览器。(类似于我们上面用到的jinja2)

例如:

def index(request):# 业务逻辑代码return render(request, "index.html", {"name": "alex", "hobby": ["烫头", "泡吧"]})

redirect重定向

接受一个URL参数,表示跳转到指定的URL。

例如:

def index(request):# 业务逻辑代码return redirect("/home/")

重定向

return redirect('/home/')

返回浏览器状态码:302   和响应头:Location: /home/

浏览器会再次向返回的URL地址发起一次GET请求,获取跳转后的页面。

转载于:https://www.cnblogs.com/root0/p/10751020.html

Django框架简介相关推荐

  1. Django框架简介-初级(简单留言板)

    Django框架(综合各方知识) 介绍Django和设计模式 CGI方式开发web MVC 设计模式 web各部分说明 主要内容 结构说明 必要步骤 简单体验留言板 进阶留言板:css和html分离, ...

  2. python的django介绍_【Python基础知识】Django框架简介

    很多初学Python的小伙伴不知道该从何开始学起,其实零基础学习的话可以先学习一些Python基础知识,等基础打牢之后再去接触更加深入的技术,接下来小编就为大家简单介绍一下有关于 Django框架内容 ...

  3. Django框架简介-开头

    一.MVC框架和MTV框架(了解即可) MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制 ...

  4. python mvc框架_MVC其实很简单(Django框架)

    Django框架MVC其实很简单 让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过Web框架来实现的功能与之前的方式有何不同. 下面就是通过使用Django来完成以上功能的例子: 首先,我们 ...

  5. Django框架(3.django设计模型类、模型类生成表、ORM框架简介)

    ORM框架简介 O是object,也就类对象的意思, R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思, M是mapping,是映射的意思.在ORM框架中,它帮我们把类和数据表进 ...

  6. Django框架(1.Django框架的简介)

    Django简介 Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计. 劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005 ...

  7. python的django框架与springboot_Django框架简介

    一.MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Cont ...

  8. Django Python Web应用程序框架简介

    在这个由四部分组成的系列文章的前三篇文章中,比较了不同的Python Web框架,我们介绍了Pyramid , Flask和Tornado Web框架. 我们已经构建了同一个应用程序3次,最终进入了D ...

  9. Python Django框架入门第一课

    Python Django框架入门 1.Django简介 Django使用python开发的一个免费的Web框架,几乎囊括了Web应用的方方面面,用于快速搭建高性能.优雅的网站. 2.配Django运 ...

最新文章

  1. 2、安装Lync Server 2013
  2. [ExtJS5学习笔记]第十一节 Extjs5MVVM模式下系统登录实例
  3. asp oracle9i 链接oracle,解决使用ASP无法连接ORACLE 9i数据库的问题
  4. windows的几个原则
  5. 计算机word基础知识菜单,Word试卷模板_电脑基础知识_IT/计算机_资料
  6. 外架小横杆外露长度规范要求_脚手架各部位构造要求解读!
  7. 重磅揭晓阿里 AliOS Things 3.0 革命性创新!
  8. Halcon 基本算子释义
  9. linux应用编程之进程间同步
  10. 一步一步学习hadoop(九)
  11. Goto是关键?思考
  12. Modis-ET-NPP-GPP
  13. BASIC-9 特殊回文数 C语言版
  14. RK3399外设驱动之MIPI显示-panel配置
  15. 网络爬虫异常处理总结
  16. 高盛为什么认为中国AI领域将超越美国?
  17. 关于部分手机通话录音报start failed的问题
  18. python统计大小写字母个数
  19. 微型计算机接口及基础,微型计算机技术与接口应用基础
  20. c/c++一百道小程序

热门文章

  1. python股票数据预处理_Python股票处理之六_数据预处理A
  2. 自己快速提升SCI论文质量的简单方法:分清研究类型,遵从指南修改
  3. 下列那些是oracle的伪列,oracle伪列
  4. 北斗导航 | 复杂环境下卫星导航算法(理论)
  5. C++ | 蓝桥杯2021年第十二届卡片问题(源代码:C语言/C++/Python)
  6. 北斗导航 | 北斗三号全球导航卫星系统6类服务测试评估
  7. Matlab | Matlab从入门到放弃(6)——数组
  8. cesium 3dtiles 加载本地数据_记一次Cesium地形数据生成过程
  9. Simulink中DPCM量化和编码仿真
  10. erlang精要(7)-模块