乐趣区

关于python:django全知识要点笔记集合近50页从基础到深入理解django开发第一期

django 全常识要点笔记汇合,近 50 页,从根底到深刻了解 django 开发(第一期)

残缺笔记在这:

django 全常识要点所有笔记汇合获取

残缺笔记目录:

本期笔记内容

Django 框架

次要内容
  • 我的项目创立运行
  • 配置文件
  • 路由配置 (View)
  • request 和 response 对象 (View)
  • 类视图 (View)
  • 中间件
  • 数据库(Model
  • 模板(Template
  • admin 站点治理

Django 介绍

  • 官方网站
  • 1.11 版英文文档
  • 1.11 版中文文档
  • Django Book 教程

1. 简介

Django,** 发
音为 [`dʒaeŋɡəʊ]**,是用 python 语言写的开源 web 开发框架,并遵循 MVC 设计。劳伦斯出版团体为了开发以新闻内容为主的网站,而开发进去了这个框架,于 2005 年 7 月在 BSD 许可证下公布。这个名称来源于比利时的爵士音乐家 DjangoReinhardt,他是一个吉普赛人,次要以演奏吉它为主,还演奏过小提琴等。
** 由
于 Django 在近年来的迅速倒退,利用越来越宽泛,被驰名 IT 开发杂志 SDTimes 评比为 2013SDTimes100,位列 ”API、库和框架 ” 分类第 6 位,被认为是该畛域的佼佼者。**

Django 的 ** 主
要目标是简便、疾速的开发数据库驱动的网站。** 它强调代码复用,多个组件能够很不便的以 ” 插件 ” 模式服务于整个框架,Django 有许多功能强大的第三方插件,你甚至能够很不便的开发出本人的工具包。这使得 Django 具备很强的可扩展性。它还强调疾速开发和 DRY(DoNotRepeatYourself)准则。

Django 特点

比照 Flask 框架,Django 是重量级框架,Django 原生提供了泛滥的性能组件,让开发更简便疾速。

  • 数据库 ORM 反对
  • 模板
  • 表单
  • 认证权限
  • Admin 治理站点
  • session 机制
  • 缓存

2. Web MVC 模式

  • 上个世纪八十年代为 Smalltalk 语言创造的一种 软 件框架模式,最开始用于 Desktop 程序开发,当初已被宽泛应用,包含 Web 开发。
  • MVC: Model-View-Controller 模型 - 视图 - 控制器

    • M:model 层,负责 数 据解决,包含对数据的增删改查等操作
    • V:view 层,负责 界 面显示
    • C:controller 层,负责 逻 辑管制,接管和解决申请,调用 model 和 view
  • 核心思想:分 层,解耦。MVC 拆散了 数据处理 和 界面显示 的代码,使得一方代码批改了不会影响到另外一方,进步了程序的扩展性和可维护性。
  • Web 开发中的 MVC

3. Django 的 MVT 模式

  • Django MVT 模式

    • M:Model, 模 型 与 MVC 中的 M 雷同,负责对数据的解决
    • V:View, 视 图 与 MVC 中的 C 相似,负责解决用户申请,调用 M 和 T,响应申请
    • T:Template, 模 板 与 MVC 中的 V 相似,负责如何显示数据(产生 html 界面)

阐明:

  • Django 也是 MVC 框架,但换了一个名字

Django follows the MVC pattern closely, however it does use its own logic in
the implementation. Because the “C” is handled by the framework itself

  • 对于 MVT 的名字,

____

工程搭建

学习指标

  • 把握虚拟环境应用
  • 把握 Django 我的项目和利用的创立
  • 把握 Django 我的项目的运行
  • 把握 Django 视图和模板的初步应用

虚拟环境装置

1. 创立虚拟环境

mkvirtualenv django_py3 -p python3

注 意: 须要联网

2. 装置 Django

pip install django==3.9.13

3. 相干命令

# 虚拟环境
mkvirtualenv      # 创立虚拟环境
rmvirtualenv      # 删除虚拟环境
workon            # 进入虚拟环境、查看所有虚拟环境
deactivate        # 退出虚拟环境

# pip
pip install       # 装置依赖包
pip uninstall     # 卸载依赖包
pip list          # 查看已装置的依赖包 Django (3.9.13)
pip freeze        # 查看已装置的依赖包 django==3.9.13

____

Django 我的项目和利用创立

一、我的项目组织构造

  • 一个 Project 蕴含有多个 App
  • 一个 App 就是一个 Python 包,就代表一个功能模块,比方:用户模块,商品模块等

    • 各功能模块间能够放弃绝对的独立
    • 以包的模式组织代码不便功能模块的复用

二、创立我的项目的两种形式

  • 通过 pycharm 创立
  • 通过 命令行创立

1. 通过 pycharm 创立我的项目

我的项目创立进去后构造如下:

2. 通过命令创立

创立我的项目:django-admin startproject 我的项目名
创立利用:python manage.py startapp 利用名

  1. 创立我的项目

    1. 要创立 Django 我的项目,先进入虚拟环境:

      workon 虚拟环境名

     2. 应用如下命令创立 Django 我的项目:django-admin startproject 我的项目名

   # 例:要创立的我的项目名为 Django02

   django-admin startproject Django02
  1. 创立利用

    1. 先 进入我的项目根目录下:

      cd 我的项目根目录

     2. 执行以下命令创立利用
      
           # manage.py 为上述创立我的项目时主动生成的管理文件

   python manage.py startapp 利用名

   # 例:python manage.py startapp users

____

运行 Web 服务器

  • django 自带了一个纯 python 编写的 开 发阶段应用的 web 服务器,用来预览网站成果和进行开发调试
  • 有两种形式运行 Django 自带的 Web 服务器

    • 通过 Pycharm 运行
    • 通过命令运行

1. 通过 Pycharm 运行

1. 点击运行按钮,如下
2. 运行起来后,在 `run` 窗口,能够看到服务器打印进去的日志信息,如下:
3. 能够手动指定服务器运行的 ip 和端口,不指定默认值为:`127.0.0.1:8000`

2. 通过命令运行【理解】

  • 运行 Web 服务器的命令

    python manage.py runserver ip: 端口
    或:
    python manage.py runserver

  • 注 意:须要在终端中,先进入到我的项目的根目录下,而后才能够通过上述命令启动服务器
  • 能够不写 IP 和端口,默认 IP 是 127.0.0.1,默认端口为 8000。
  • ctrl+c 能够进行服务器

3. 测试服务器是否启动

在浏览器中输出网址 127.0.0.1:8000 便可看到成果,如下,示意服务器启动胜利

____

视图模板初步应用

Django 中的视图

  • 同 Flask 框架一样,Django 也应用 视 图 来编写 Web 利用的业务逻辑。
  • Django 的视图也就是一个函数,可称为 视 图函数
  • 视 图 定义在利用的 views.py 文件中的
  • 视 图 须要绑定一个 URL 地址(路由),能力被 django 框架找到并调用执行

一、视图初步应用

需要: 编写视图并配置 URL(路由),实现一个显示界面

1. 需要:当在浏览器中拜访 URL 地址 `http://127.0.0.1:8000/users/index` 时,显示 `hello django` 信息
2. 实现:1. 须要编写一个视图函数
              2. 针对该视图配置拜访路由

1. 创立视图

关上刚创立的 users 模块,在 views.py 中编写视图代码。

from django.http import HttpResponse

def index(request):
    """拜访首页的视图"""
    return HttpResponse("hello django")

对于视图的阐明:

  • 对于视图【了解】

    • 视 图不是由开发者被动调用的,而是由 Django 框架调用
    • 当 Django 接管到申请时,会进行 URL 正则匹配,调用对应的视图
    • 调用视图时,Django 会把申请信息封装为一个 HttpRequest 对象,并作为视图的第一个参数传入
  • 对于视图的参数

    • 视 图的第一个参数必须定义,名字可自定义,但习惯命名为 request,类型为HttpRequest
    • 短少了该参数,Django 在调用视图时,将无奈传入 HttpRequest 对象
  • 对于视图的返回值

    • 视图必须返回一个 HttpResponse 对象(或其子类对象),不能像 Flask 一样间接返回字符串
    • HttpRequest申请对象由 Django 创立,HttpResponse响应对象由开发人员创立

2. 配置 URL(路由)

  • 在我的项目下的 urls.py 文件中进行 url 路由配置如下:

    # 留神:urlpatterns 是一个列表

    urlpatterns = [

    ...    
    # 配置路由和视图: http://127.0.0.1:8000/users/index
    # 参数 1:匹配 url 的正则表达式
    # 参数 2:匹配胜利后由 Django 框架调用的视图函数
    url(r'^users/index$', views.index),

    ]

留神:此处只是为简略作的初步配置,后续会对 URL 配置进一步解说

3. 在浏览器中测试

在浏览器中输出网址 http://127.0.0.1:8000/users/index,确认是否执行了视图的逻辑,返回 hello django
信息

____

一、模板初步应用

1. 在我的项目的 `templates` 目录下创立一个模板文件
  1. 在视图函数中,应用 render() 办法渲染模板,失去 HttpResponse 对象并返回

    def index(request):

    # render 返回的是 HttpResponse 对象

    return render(request, ‘index.html’)

二、额定我的项目配置

【留神】针对命令行创立的我的项目,须要额定手动创立模板目录,并进行配置;如果 Pycharm 创立的我的项目则无需作额定操作

1. 在我的项目根目录下创立 `templates` 模板目录,后续开发中模板文件会放在此目录下
2. 在 `setting.py` 我的项目配置文件中,作如下配置:

____

本期结束语

学习是一件十分有意思的事件,世上再没有比成长更让人身心愉快的事件了。

大家能够跟着练习

让咱们期待下一期吧~

残缺笔记自取

残缺笔记在这:

https://pan.baidu.com/s/16J7Y…

退出移动版