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处理, ciew再调用相应的Model和Template

Django框架图示

 

 Django常见命令:

在Django的使用过程中需要使用命令躺Django进行一些操作. 例如创建Django项目, 启动Django程序, 创建新的APP, 数据库迁移(例如将写好的类更新到mysql数据库中)等.

创建Django项目

一般我们都新建一个文件夹来存放项目文件, 切换到这个目录下, 启动命令行工具. 创建一个名为mysite的Django项目:

django-admin startproject mysite

创建好项目后, 可以查看当前目录下多出一个名为mysql的文件夹, mysite的文件夹目录结构如下:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

启动Django项目

启动项目的时候, 需要切换到mysite目录下, 执行如下命令:

python manage.py runserver  #默认使用8000端口, 其端口可以分局自己需要进行更改

命令后面还可以指定参数:

python manage.py runserver 8888  #8888为新指定的端口
python manage.py runserver 127.0.0.1:8000  #还可以指定IP和端口,冒号分割

 

注意: 创建项目的时候, 可以在mysql数据库中创建, 然后在pycham中进行连接.

当项目创建完后, 要向数据库中添加表格的时候, 可以现在models.py文件下创建完后,

经一下两部更新到数据库中.(也称为数据迁移)

python manage.py makemigrations
python manage.py migrate

创建APP

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

命令行创建

python manage.py startapp app01

注意: 也可以在pycham中创建项目的时候, 一起创建.

 

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

app01/
    migrations
        __init__.py
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.py

使用PyCharm创建

可以使用PyCham的manage.py工具来执行命名. 在主菜单栏, 选择Tools, 在下拉菜单中选择Run manage.py task , 会出现如下图所示的工具对话框:

 

在弹出的命令窗口中直接输入下面的命令便可创建app:

startapp app01

创建超级用户

python manage.py createsuperuser

输入以上命令后, 根据提示输入用户名, 邮箱, 密码, 确认密码. 密码的要求至少是八位, 不能和邮箱太接近, 两次密码需要一致.

                 数据库迁移                  

python manage.py makemigrations
python manage.py migrate

每次对创建的项目下的models.py文件下的类的代码(相当于是修改数据库)进行修改或添加类时, 都要进行上述操作.

                       模板                       

模板(Template)系统 >> 传送门                   

                       视图                       

Django视图系统 >> 传送门

                    路由系统                   

Django路由系统 >> 传送门

                       模型                       

模型(model)系统 >> 传送门

 

posted @ 2018-10-09 19:11  向往灬  阅读(186)  评论(0编辑  收藏  举报