《Web接口开发与自动化测试基于Python语言》--第2章

20 篇文章 0 订阅
16 篇文章 1 订阅

《Web接口开发与自动化测试基于Python语言》–读书笔记

第2章 Django入门

2.1 Django开发环境

安装Django:

pip install django==1.10.3

python3 -m pip install django=1.10.3

2.2 开始第一个Demo

使用命令创建guest项目:

django-admin startproject guest

创建成功后目录结构如下:

guest/
|----guest/
|        |---- __init__.py
|        |---- settings.py
|        |---- urls.py
|        |---- wsgi.py
|-------- manage.py    

其中:

  • __init__.py:一个空文件,标识这是一个目录为Python的标准包;

  • guest/settings.py: Django项目的配置文件,包括Django模块应用配置、数据库配置、模板配置等;

  • guest/urls.py: Django项目的URL声明;

  • guest/wsgi.py:与WSGI兼容的Web服务器为你的项目提供服务的入口点;

  • manage.py:一个命令行工具,可以让你在使用Django项目时以不同的方式进行交互。

使用如下命令创建项目内的应用:

python manage.py startapp sign

创建成功后目录结构如下:

.
├── guest
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings.py
│   ├── settings.pyc
│   ├── urls.py
│   └── wsgi.py
├── manage.py
└── sign
    ├── admin.py
    ├── apps.py
    ├── __init__.py
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    └── views.py

其中:

  • migrations/:用于记录models中数据的变更;

  • admin.py:映射models中的数据到Django自带的admin后台;

  • apps.py:用于应用程序的配置,在新的Django版本中新增文件;

  • models.py: Django的模型文件,创建应用程序数据表模型(对应数据库的相关操作);

  • tests.py:创建Django测试用例;

  • views.py: Django的视图文件,控制向前段页面显示的内容。

运行项目

运行命令:

python manage.py runserver

默认端口为8000,如果修改端口则使用如下命令:

python manage.py runserver 127.0.0.0.1:8001

运行“Hello Django”,需要分别做如下修改:

  • 增加sign应用到项目中:在guest/settings.py中增加’sign’到INSTALLED_APPS;

  • 增加/index/的路由配置:在guest/urls.py中增加index路径;

  • 增加index属性:在sign/views.py中增加index属性;

注意:

index函数通过HttpResponse类想客户端返回指定内容“Hello Django”,HttpResponse类在django.http.HttpResponse中,以字符串的形式传递给客户端。

使用模板

使用HTML页面来代替”Hello Django!”:

  • 在sign/目录下创建templates/index.html,包含内容如下:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Django Page</title>
    </head>
    <body>
        <h1>Hello Django!</h1>
    </body>
</html>
  • 修改sign/views.py中的index函数为:
from django.shortcuts import render

# Create your views here.
def index(request):
    return render(request, "index.html")

2.3 Django工作流

Django的简单处理流程:

这里写图片描述

URL组成
  • 协议类型HTTP/HTTPS:HyperText Transfer Protocol,超文本传输协议;HyperText Transfer Protocol over Secure Socket Layer,套接层加密超文本传输协议。

  • 主机地址baidu.com:网址或IP地址,通过域名解析服务器找到对应的IP主机。

  • 端口号8000:不同的应用使用不同的端口号。

  • 路径/index/:表示主机上的一个目录或文件地址。

URLconf

URLconf:URL configuration,为了给一个应用设计URL而创建的Python模块,包含内容是URL模式(简单的正则表达式)到视图函数(默认views.py文件中的函数)的映射关系。

Django处理一个请求的过程:

  1. Django使用的是根URLconf模块,这个值通常是通过ROOT_URLCONF设置(settings.py文件):
    ROOT_URLCONF = 'guest.urls'

  2. Django加载URLconf模块(urls.py文件)并寻找可用的urlpatterns。

  3. Django依次匹配每个URL模式,在与请求的URL匹配的第一个模式处停下来。

  4. 通过匹配的正则,Django将请求指向对应的视图函数处理。

  5. 如果没有匹配到正则,或过程中出现异常,Django将调用适当的错误处理视图。

views视图

视图函数:简称视图,是一个简单的Python函数,它接受Web请求并且返回Web响应。

Web响应可以是:HTML网页、一个重定向、一个404错误、一个XML文档、一张图片……

templates模板

模板包含所需HTML输出的静态部分以及一些特殊的语法,描述如何将动态内容插入数据中,也可以在模板中使用任何前端技术,如CSS、JavaScript等。

2.4 MTV开发模式

这段话在Django官方文档也曾出现过:鼓励松耦合以及对应用程序中不同部分的严格分割。

MVC:Model-View-Controller

  • model:数据存取层。

  • view:表现逻辑,代表系统中什么可以显示怎么显示的部分。

  • controller:业务逻辑,代表系统中根据用户输入及需要访问模型,使用哪个视图的哪部分。

对应到Django后:

  • Model:数据存取部分,由Django数据库层处理;

  • View:表现逻辑,由Django的视图和模板处理;

  • Controller:业务逻辑,由Django根据URLconf设置,对给定URL调用适当的Python函数。

由于Controller由框架自行处理,而Django里更关注的是模型(Model)、模板(Template)、视图(View),因此Django也被称为MTV框架。

MTV:Model-Template-Views

  • Model:模型,数据存取层,该层处理与数据相关的所有事务,即如何存取、如果验证有效等;

  • Template:模板,表现层,该层处理与表现相关的所有事务,即如何在页面或者其他类型文档中进行显示;

  • View:视图,业务逻辑层,该层包含存取模型及调取恰当模板的相关逻辑,可以看作是模型和模板之间的桥梁。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值