01 Aug 2018

[备忘] Django学习笔记

Django学习笔记

1.Django简介

1.1 web框架介绍

web framework 其它基于Python的web框架,如tornado、flask、webpy都是在这个范围内进行增删裁剪的。例如Tornado用的是自己的异步非阻塞“wsgi”,flask则只提供了最精简和基本的框架。Django直接使用WSGI,并实现了大部分Web应用相关的功能。

1.2 MVC和MTV

MTV: Django觉得MVC的字面意思很别扭,不太符合它的理念,就给它改了一下。view不再是HTML相关,而是主业务逻辑V了,相当于控制器。HTML被放在Templates中,称作模板T,于是MVC就变成了MTV。这其实就是一个文字游戏,和MVC本质上是一样的,换了个名字和叫法而已,换汤不换药。

1.3 Django的MTV模型组织

DjangoMTV

  • app应用与project项目的区别:
    • 一个app实现某个功能,比如博客、公共档案数据库或者简单的投票系统;
    • 一个project是配置文件和多个app的集合,这些app组合成整个站点;
    • 一个project可以包含多个app;
    • 一个app可以属于多个project!
    • app的存放位置可以是任何地点,但是通常都将它们放在与manage.py脚本同级的目录下,这样方便导入文件。

2.Django常用指令

动作 指令
创建新项目 django-admin startproject mysite
创建新应用 python manage.py startapp cmdb
开启dev服务器 python manage.py runserver (0.0.0.0:8000)
创建迁移类 python manage.py makemigrations
数据库迁移 python manage.py migrate