前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django 学习笔记 | 1、基础概念和MVT架构

Django 学习笔记 | 1、基础概念和MVT架构

作者头像
TeamsSix
发布2020-03-12 21:52:19
5730
发布2020-03-12 21:52:19
举报

0x00 Django 简介

  • Django是Python写的开源Web开发框架,主要目的是做一个简便、快速的开发数据库驱动的网站
  • Django遵循MVC设计模式,在Django中有个专有名词,叫做MVT
    • 设计模式就是前辈们在开发过程中总结出来的经验和套路
    • MVC是一种设计模式,在这种设计模式下衍生出了MVT
  • Django中文说明文档:https://yiyibooks.cn/xx/django_182/index.html

0x01 MVC 简介

  • 全拼:Model View Controller
  • MVC 核心思想:解耦
    • 让不同的模块之间降低耦合, 增强代码的可扩展性和可移植性, 实现更好的向后续版本的兼容
    • 开发原则 : 高内聚, 低耦合
  • MVC 解析
    • M全拼为Model, 主要封装对数据库层的访问, 内嵌ORM框架, 实现面向对象的编程来操作数据库
    • V全拼为View, 用于封装结果, 内嵌了模板引擎, 实现动态展示数据
    • C全拼为Controller, 用于接收GET或POST请求, 处理业务逻辑, 与Model和View交互, 返回结果

0x02 MVT 简介

  • MVT全拼为Model-View-Template
  • MVT核心思想:解耦(按照模块间的职能进行划分,然后做解耦)
  • MVT解析
    • M (模型)全拼为Model, 与MVC中的M功能相同, 负责数据处理, 内嵌了ORM框架
    • V (视图)全拼为View, 与MVC中的C功能相同, 接收HttpRequest, 业务处理,返回HttpResponse
    • T (模板)全拼为Template, 与MVC中的V功能相同, 负责封装构造要返回的html, 内嵌了模板引擎
  • MVT 和 MVC 差异就在于黑箭头标识出来的部分

学习 Django, 重点就是研究 Model-View-Template 三个模块间如何协同工作及各自模块的代码如何编写。

0x03 Django安装及项目创建

1、安装Django

代码语言:javascript
复制
pip install django

2、创建Django项目

以书籍管理系统为例,这里创建的项目名为"book"

代码语言:javascript
复制
> django-admin startproject BookManager #创建项目
> cd BookManager
BookManager/ > python3 manage.py startapp Book #创建应用
BookManager/ > tree
.
├── Book
│   ├── __init__.py  #表示文件Book可以被当作包使用
│   ├── admin.py  #后台的站点管理注册文件
│   ├── apps.py
│   ├── migrations  #做模型迁移
│   │   └── __init__.py
│   ├── models.py  #MVT中的M
│   ├── tests.py  #做测试用
│   └── views.py  #MVT中的V
├── BookManager
│   ├── __init__.py  #表示文件BookManager可以被当作包使用
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   └── settings.cpython-37.pyc
│   ├── asgi.py
│   ├── settings.py  #项目的整体配置文件
│   ├── urls.py    #项目的URL配置文件
│   └── wsgi.py    #项目与WSGI兼容的Web服务器入口
└── manage.py    #项目运行的入口, 指定配置文件路径

4 directories, 15 files
```

创建之后,使用PyChram打开,在setting.py的第39行下方添加'Book',即将INSTALLED_APPS修改成如下所示:

代码语言:javascript
复制
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'Book',  #添加此行以安装应用
]

3、运行项目

在项目目录下,执行python3 manage.py runserver即可运行

代码语言:javascript
复制
python3 manage.py runserver

运行结果:

代码语言:javascript
复制
BookManager/ > python3 manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
February 28, 2020 - 19:08:25
Django version 3.0.3, using settings 'BookManager.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

此时,浏览器访问http://127.0.0.1:8000/,出现以下界面,说明项目已经成功创建了。

原文链接:https://www.teamssix.com/year/200229-220746.html 参考链接: https://youtu.be/BXyGr9JQVcc https://www.cnblogs.com/Demon-Mx/p/8385318.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TeamsSix 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 Django 简介
  • 0x01 MVC 简介
  • 0x02 MVT 简介
  • 0x03 Django安装及项目创建
    • 1、安装Django
      • 2、创建Django项目
        • 3、运行项目
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档