Django框架全面讲解 -- Django流程介绍

Python的WEB框架有Django、Tornado、Flask 、Zope TurboGears、Web2py(Webpy)、Pylons等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。

流程
基本配置
路由系统
视图view
模板
Model
中间件
Form
认证系统
CSRF
分页
Cookie
Seesion
缓存
序列化
信号
admin

一、 Django流程介绍

Django框架全面讲解 -- Django流程介绍_第1张图片
MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:

  M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。

  C——接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带。

  V——负责把数据格式化后呈现给用户。

Django也是一个MVC框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式:

M 代表模型(Model),即数据存取层。 该层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

T 代表模板(Template),即表现层。 该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。

V 代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。

二、 Django 基本配置

  1. 创建django程序

    终端命令:django-admin startproject sitename (在当前目录下创建一个Django程序)
    IDE创建Django程序时,本质上都是自动执行上述命令

其他常用命令:

  python manage.py runserver ip:port (启动服务器,默认ip和端口为http://127.0.0.1:8000/)

  python manage.py startapp appname (新建 app)

  python manage.py syncdb (同步数据库命令,Django 1.7及以上版本需要用以下的命令)

  python manage.py makemigrations (显示并记录所有数据的改动)

  python manage.py migrate (将改动更新到数据库)

  python manage.py createsuperuser (创建超级管理员)

  python manage.py dbshell (数据库命令行)

  python manage.py (查看命令列表)

  1. 程序目录
    Django框架全面讲解 -- Django流程介绍_第2张图片

  2. 配置文件
    a、数据库
    支持SQLite 3(默认)、PostgreSQL 、MySQL、Oracle数据库的操作

 # 默认是SQLit 3 的配置
 DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
 }
 # MySQL的配置
 DATABASES = {
     'default': {
     'ENGINE': 'django.db.backends.mysql',
     'NAME':'dbname',   #注意这里的数据库应该以utf-8编码
     'USER': 'xxx',
     'PASSWORD': 'xxx',
     'HOST': '',
     'PORT': '',
     }
 }
# PostgreSQL配置
DATABASES = {
    'default': {
        'NAME': 'app_data',
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'USER': 'XXX',
        'PASSWORD': 'XXX'
    }
# Oracle配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.oracle',
        'NAME': 'xe',
        'USER': 'a_user',
        'PASSWORD': 'a_password',
        'HOST': '',
        'PORT': '',
    }
}

Django框架对于开发者而言高度透明化,对于不同数据库的具体使用方法是一致的,改变数据库类型只需要变动上述配置即可。
想要了解更多请戳这里

b、静态文件添加

# 首先在项目根目录下创建static目录
# 接着在settings.py 文件下添加

STATIC_URL = '/static/'  # 默认已添加,使用静态文件时的前缀
STATICFILES_DIRS = (
        os.path.join(BASE_DIR,'static'), #行末的逗号不能漏
    )

# 这样在template中就可以导入static目录下的静态文件啦
# 例:

更多:https://docs.djangoproject.com/en/1.11/ref/contrib/admin/

你可能感兴趣的:(Django)