Django 简介

Posted hfbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

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

 

以上是关于Django 简介的主要内容,如果未能解决你的问题,请参考以下文章

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段

Django REST框架--认证和权限

如何在 Django 中显式重置模板片段缓存?

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

使用 Django 模板作为片段