一、Django简介

一、Django简介
Django是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!
初次发布于2005年7月,并于2008年发布了第一个正式版本1.0。
官方文档: https://www.djangoproject.com/
二、Django特点

强大的数据库功能: 拥有强大的数据库操作接口(QuerySet API),如需要也能执行原生SQL。
自带强大的后台: 几行简单的代码就让你的网站拥有一个强大的后台,轻松管理内容!
优雅的网址: 用正则匹配网址,传递到对应函数,随意定义,如你所想!
模板系统: 强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。

(注:前后端分离时,也可以用Django开发API,完全不用模板系统。)
缓存系统,与Memcached, Redis等缓存系统联用,更出色的表现,更快的加载速度。
国际化,完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言。

三、MVC模式
MVC是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件中,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVC

  • Model(模型)
    应用程序中用于处理应用程序数据逻辑部分;
    通常模型对象负责在数据库中存取数据;
  • View(视图)
    应用程序中处理数据显示部分;
    通常视图是依据模型数据创建的;
  • Controller(控制器)
    应用程序中处理用户交互部分;
    通常控制器负责从视图中读取数据,控制用户输入,并向模型发送数据;

优点: 降低各个功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用。

四、MTV模式
本质上MTV与MVC模式没有什么区别,也是各组件之间为了保持松耦合关系,只是定义上有些不同。

MTV

  • Model(模型)
    负责业务对象与数据库对象(ORM)
  • Template(模板)
    负责如何把页面展示给用户
  • View(视图)
    负责业务逻辑,并在适当的时候调用Model和Template

Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template。

五、Django环境搭建

Django版本选择
Django 1.5.x 支持 Python 2.6.5 Python 2.7, Python 3.2 和 3.3.
Django 1.6.x 支持 Python 2.6.X, 2.7.X, 3.2.X 和 3.3.X
Django 1.7.x 支持 Python 2.7, 3.2, 3.3, 和 3.4 (注意:Python 2.6 不支持了)
Django 1.8.x 支持 Python 2.7, 3.2, 3.3, 3.4 和 3.5. (长期支持版本 LTS)
Django 1.9.x 支持 Python 2.7, 3.4 和 3.5. 不支持 3.3 了
Django 1.10.x 支持 Python 2.7, 3.4 和 3.5
Django 1.11.x 支持 Python 2.7, 3.4, 3.5 和 3.6(长期支持版本 LTS)
Django 2.0.x 支持 Python 3.4, 3.5 和 3.6 (注意,不再支持 Python 2)

pip安装(如果有直接跳过)

pip更新(Linux或MacOS): pip install -U pip

pip更新(Windows): python -m pip install -U pip

安装Django

  • 安装
    $ pip install Django==1.11.4
  • 验证是否成功()
    进入到python环境(终端中输入python)

    import django
    django.get_version()
    ‘1.11.4’

操作时,请切换到python3的虚拟环境中!

六、Django项目创建

  • 新建Django项目:
    $ django-admin startproject projectName

  • 目录层级说明:
    manage.py 一个命令行工具,可以使我们多种方式对Django项目进行交互
    projectName/init.py 一个空文件,告诉python这个目录被看做一个python包(有这个能称之为包)
    projectName/settings.py 项目的配置文件
    projectName/urls.py 项目URL声明(路由器)
    projectName/wsgi.py 项目与WSGI兼容的Web服务器入口(网关接口,通常用在现线上环境部署)

  • 项目的运行:
    $ python manage.py runserver
    $ python manage.py runserver 0.0.0.0:8000
    $ python manage.py runserver 0:8000 # 0.0.0.0简写方式

  • settings.py项目配置文件
    BASE_DIR 项目根目录
    SECRET_KEY 秘钥
    DEBUG 调试的开启
    ALLOWED_HOSTS 允许访问的主机
    INSTALLED_APPS 安装的应用
    MIDDLEWARE 中间件
    ROOT_URLCONF 站点url配置
    TEMPLATES 模板
    WSGI_APPLICATION wsig应用
    DATABASES 数据库
    AUTH_PASSWORD_VALIDATORS 密码验证规则
    LANGUAGE_CODE 语言(中文: zh-hans)
    TIME_ZONE 时区 (中国时区: Asia/Shanghai)

  • 站点管理的汉化版(在settings.py中替换以下内容即可)
    LANGUAGE_CODE = ‘en-us’ 替换 LANGUAGE_CODE = ‘zh-Hans’
    TIME_ZONE = ‘UTC’ 替换 TIME_ZONE = ‘Asia/Shanghai’

备注: Linux或Mac下,直接在终端中操作;而在Windows中在cmd中操作(开始 -> 搜索cmd)

Linux中输入tree可以看到具体的目录结构(树状)

七、创建应用
要先进入项目目录下,cd projectName 然后执行下面的命令:
$ python3 manage.py startapp appName

项目文件说明:
admin.py 站点配置
models.py 模型
views.py 视图

其实一个项目中可以创建多个应用;

sqlite是轻量级小型数据库(嵌入级数据库),在Django中默认使用的就是sqlite【一般在手机APP中都会使用到这个sqlite】

八、激活应用
在settings.py文件中,将appName应用加入到INSTALL_APPS选项中.
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘appName’ # 添加自己的应用
]

请求流程: 用户请求 -> urls -> views -> templates -> 用户响应 【从后往前写】

九、视图

  • 方式一
    def hello(request):
    return HttpResponse(‘hello’)

  • 方式二
    def hello(request):

    hello.html模板

    return render(request, ‘hello.html’)

十、启动服务器
语法:
python manage.py runserver ip:port
例如:
python manage.py runserver
备注:
IP可以不写,代表即是本机IP
端口号默认是8000
启动成功后,在浏览器可以看到”It worked!”
说明:
这是一个纯python写的轻量级web服务器,仅仅在开发测试阶段中使用

作者:EndEvent
链接:https://www.jianshu.com/p/d3b87efb555d
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值