一、Django框架简介

MVC框架和MTV框架

MVC框架

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

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

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

模型: 负责业务对象与数据库的映射(ORM),视图: 负责与用户的交互(页面),控制器: 接受用户的输入调用模型和视图完成用户的请求

Django的MTV模式

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

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

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

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

Django框架图示

二、Django下载安装与使用注意事项

1.安装django

pip3 install django==1.11.11

2.创建django项目

在cmd命令行下创建一个名为mysite的Django项目

django-admin startproject mysite

3.目录介绍

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

4.模板文件配置

使用命令行创建django项目 不会自动帮你创建templates文件夹, 只能自己创建

在.settings文件中 需要你手动在TEMPLATES的DIRS写配置

[os.path.join(BASE_DIR, 'templates')]

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')], # templates 文件夹位置
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

5.启动django项目

python manage.py runserver

当我们访问:http://127.0.0.1:8080/时就可以看到图下,即代表成功

6.创建应用app01

python manage.py startapp app01

​ 在pycharm创建app

在输入框直接输入以下命令即可创建一个名为app02的APP

7.app应用目录:

└── app01  # 项目目录
├── migrations文件夹 # 存放数据库迁移记录
├── __init__.py
├── admin.py # django后台管理
└── apps.py # 注册相关
└── models.py # 模型类
└── tests.py # 测试文件
└── views.py # 存放视图函数

注意:如果是在命令行下创建app后,需要你去settings配置文件中注册添加app名字。这样django项目才能识别到你这个app

8.静态文件配置:

静态文件配置官方文档

什么是静态文件?

静态文件就是在打开网页时所用到的 图片、 js、css以及第三方的框架bootstrap、fontawesome、sweetalert

通常情况下 网站所用到的静态文件资源 统一都放在static文件夹下,为了方便识别

STATIC_URL = '/static/'  # 是访问静态资源的接口前缀,并不是存放静态文件的文件夹
"""只要你想访问静态资源 你就必须以static开头""" # 手动在settings最底下添加配置静态文件访问资源
# 下面都是存放静态文件的文件夹的路径
# 从上往下找静态文件,找不到就报错
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'),
os.path.join(BASE_DIR,'static1'),
os.path.join(BASE_DIR,'static2'),
]

图解:

9.禁用中间件:

前期为了方便表单提交测试。在settings配置文件中暂时禁用csrf中间件

10.重定向:

​ 重定向的意思就是,我访问的链接不是我刚刚输入的那个链接,而是我一输入他就跳转到了另外一个链接,这就是重定向

最后注意事项:

1.计算机的名称不能有中文

2.一个pycharm窗口就是一个项目

3.项目名里面尽量不要用中文

django版本问题

1.X 2.X 现在市面上用的比较多的还是1.X

推荐使用1.11.9~1.11.13

django安装

pip3 install django==1.11.11

如何验证django是否安装成功

命令行直接敲django-admin

一个django项目就类似于是一所大学,而app就类似于大学里面的学院

django其实就是用来一个个应用的

一个app就相当于一块独立的功能

用户功能

管理功能

.........

​ django支持任意多个app

三、Django的请求生命流程图

Django框架简介与使用注意事项的更多相关文章

  1. Python学习(三十)—— Django框架简介

    转载自:http://www.cnblogs.com/liwenzhou/p/8296964.html Django框架简介 一.MVC框架和MTV框架(了解即可) MVC,全名是Model View ...

  2. Django框架简介及模板Template,filter

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

  3. python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)

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

  4. wsgiref模块、web框架、django框架简介

    """web框架:将前端.数据库整合到一起的基于互联网传输的python代码 web框架也可以简单的理解为是软件开发架构里面的'服务端'""" ...

  5. 手动搭建简易web框架与django框架简介

    目录 纯手写简易web框架 基于wsgiref模块 动静态网页 简单了解jinja2模块 框架请求流程 python主流web框架 django框架 简介 应用app 命令操作django pycha ...

  6. Python学习笔记_04:Django框架简介

    目录 1 什么是Django? 2 Django框架的开发环境搭建 3 Django操作MySql数据库简介 4 功能强大的Django管理工具应用 1 什么是Django? Django是应用于We ...

  7. Django框架简介,wsgiref 与 jinja2 模块

    目录 框架简介 wsgiref模块 jinja2 模块 框架简介 Django是一个web开发框架,用来开发web应用,本质就是, web框架+socket服务端 MVC框架和MTV框架 MVC,全名 ...

  8. Django框架简介(1)

    目录 手写web框架 基于wsgiref模块写web服务端框架 python三大主流框架 django框架介绍 注意事项 django下载方法 django项目及app的创建 命令行创建项目 pych ...

  9. Django ---- 框架简介

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

随机推荐

  1. Day 8 面试题

    一.选择题(每题2分) #####1.1 设超级用户root当前所在目录为:/usr/local,键入cd命令后, 用户当前所在目录为(B) A:/home B:/root C:/home/root ...

  2. Matlab 图论最短路问题模型代码

    最短路问题的基本内容 最短路问题研究的是,在一个点与点之间连接形成的网络图中,对应路径赋予一定的权重(可以理解为两点之间的距离),计算任意两点之间如何和走,路径最短的问题.在这里的距离可以理解成各种两 ...

  3. sql server 建表,主键与外键约束

    主键: 能唯一区分表中每一行 外键:为某表的一列,是另一个表的主键,外键定义了两表之间的联系 商品类别表 use eshopgocreate table category( name varchar( ...

  4. video.js 使用中抛出异常:DOMException: "'#1098942864706113536' is not a valid selector"

    原因:video.js 在获取页面元素时使用的是querySelector方法,由于querySelector是按css规范来实现的,所以它传入的字符串中第一个字符不能是数字. 解决:元素Id在赋值时 ...

  5. linux&shell学习系列

    1.VMware安装Centos7虚拟机 2.Linux之vim详解 3.linux后台运行的几种方式 4.linux权限管理 5.linux之用户和用户组管理详解 6.grep文本搜索工具详解 7. ...

  6. .Net Core 3.0 稳定版发布啦!

    上个月的月底(9.23-9.25),.NET 开发者大会开始了,这届大会最主要的议题其实就是微软终于将.NET Core 3.0的面纱揭开了,我们也终于了解到了最新版本的.Net Core平台给我们带 ...

  7. SpringBootSecurity学习(21)前后端分离版之OAuth2.0非对称加密

    JWT转换器 前面的例子中,都是在授权服务配置类中配置了一个很简单的jwt转换器,如下: 可以看到我们只用setSigningKey方法配置了一个秘钥,这里使用的是简单的对称加密的方式来加密jwt内容 ...

  8. 02 Pycharm的安装

    一.初试 在官网http://www.jetbrains.com/pycharm安装最新版本的pycharm软件,版本为 2019.2.3,根据网上教程发现安装不了,现在貌似还没破解,退而安装 201 ...

  9. 【从刷面试题到构建知识体系】Java底层-synchronized锁-1

    在技术论坛中,经常看到一种言论:面试造火箭,干活拧螺丝.我们平时写的大部分代码的确是CRDU,再提一个层次,也无非就是揉进去复杂一些的业务逻辑,把一堆的CRDU组合起来. 那么问题来了:我们提倡的研究 ...

  10. XCTF-Misc

    最近无聊在做一下杂项,随便总结一下关于杂项的知识. 一. xcaliflag 这个直接拖进stegsolve里面,大约是在Blue的第3位左右就很清楚了 二.