Django---20180926

Django,是一个Python的web框架
Django
flask
tornado
web.py
这些都是Python web框架

框架,什么是框架,模块,什么是模块,模块和框架的区别?
模块:为了完成摸某一件事,或者某些事,提供了一些封装好的方法和属性 – 封装代码

框架:提供方法属性的同时,也提供处理事务的业务逻辑,扩展代码 – 扩展代码

Django:
1.有完善的ORM关系映射
2.有强大的路由映射功能
3.有完善的视图模板的实现
4.有健全的后台管理系统
5.有强大的缓存支持

Django的下载安装
pip install django 默认下载最新版
pip install django=1.11.15 下载1.11模块

建议在开发Django之前,使用虚拟环境来完成代码开发,以方便与将来的项目部署

检查Django是否成功安装
django-admin --version

import django
django.get_verson()

创建第一个Django项目
django-admin startproject (project_name) # 项目自定义

Django创建成功后,项目结构如下:

mysite                          # 表示项目名称
    |-- mysite                  # 根模块,根模块跟项目名称保持一致,用来做项目管理
        |-- __init__.py         # 模块描述文件
        |-- settings.py         # 项目的配置文件
        |-- urls.py             # 根路由模块
        |-- wsgi.py             # Django实现了wsgi web网关接口
   |-- manage.py               # 该文件是项目的命令文件,不需要我们修改

启动Django项目:
cd 项目主目录
python manage.py runserver [IP:PORT]
IP地址访问需要在settings.py文件中的ALLOW_HOSTS中添加(IP地址)
LANGUAGE_CODE = ‘zh_Hans’
通配标识符–0.0.0.0:PORT(尽量写)

django路由映射
urls.py
url(r"^index$", views.index, name=“index”)
第一个参数是正则表达式,表示URI
第二个参数是绑定一个函数,该函数叫做视图函数
第三个参数是一个字符串,表示路由(路径)的名称(路由反解析)
views.py 视图函数文件
from django.http import HttpResponse

# 视图函数
# 参数--请求头对象
def index(request):
    # 返回响应头对象
    return HttpResponse("<h1>页面内容</h1>")

Django中,根模块本质不建议直接编写代码
1.不利于团队开发
2.实现了层的分离—分层的概念
~子模块
Django中子模块创建
项目的主目录下
django-admin startapp app_name

mysite                          # 表示项目名称

|-- mysite                  # 根模块,根模块跟项目名称保持一致,用来做项目管理

    |-- __init__.py         # 模块描述文件
    |-- settings.py         # 项目的配置文件
    |-- urls.py             # 根路由模块
    |-- wsgi.py             # Django实现了wsgi web网关接口

|-- app_name                # 子模块
    |-- migrations          # 同步数据的迁移文件的文件夹
    |-- __init__.py         # 模块描述文件
    |-- admin.py            # 后台管理系统,用来管理子模块中的模型类的文件
    |-- views.py            # 子模块的视图文件
    |-- urls.py             # 需要自己创建的子模块的路由文件
    |-- models.py           # 定义模型类
    |-- tests.py            # 测试文件
    |-- apps.py             # 定义子模块项目相关的文件

|-- manage.py               # 该文件是项目的命令文件,不需要我们修改
当子模块创建完成后,必须执行两项操作
    1.在根模块中的settings.py文件中INSTALLED_APPS=["子模块名称"]添加子模块名称
    2.创建子路由,交给根路由管理(一级路由正则不可以用$结束)

在Django中一般而言,我们创建子模块实现功能

  1. cd到项目主目录下
    django-admin startapp (子模块名称)
  2. 将子模块注册配置文件中
    在根模块的settings.py文件中INSTALLED_APPS中添加子模块名称
  3. 创建子模块路由
    urls.py,编写对应的路由匹配
  4. 将子路由交给根路由

web软件的处理流程(软件的架构)
在传统的web软件,流行MVC的处理流程
M(model) 模型 类、以及跟数据库相关的代码
V(view) 视图 页面
C(controller) 控制器 接受参数,分发请求

目的是为了解耦合~~~~
健壮性、扩展性、维护性

分层管理
高内聚,低耦合

Django认为MVC这种传统的软件处理流程显得有点冗余,对MVC进行升级,得到了它的处理流程(软件架构)–MVT
M(model) 模型层
V(view) 视图层
T(templates) 模板层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值