• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Django Views 视图和 Restful 接口四

武飞扬头像
她似晚风般温柔789
帮助1

4. views 视图


4.1 视图组成

  • 视图通常分为三个部分

    1. 用户使用浏览器向网站发送请求 request
    2. 对用户的请求做出相应的处理 handler
    3. 将处理后的数据返回给浏览器 response

4.2 request 方法

  • 常用的 request 对象方法

    1. request.GET 获取 url 以 ? 形式的参数
    2. request.POST 获取 post 提交的数据
    3. request.path 获取 path 请求的路径 (127.0.0.1/test/1 那么这个值就是 /test/1)
    4. request.method 请求的方法(get post)
    5. request.COOKIES 请求过来的 cookies
    6. request.user 请求的永辉对象,可以判断用户是否登录,获取用户信息
    7. request.session 一个即可读又可写的类似于字典的对象,表示当前会话
    8. request.META 一个标准的 python 字典,包含所有的 HTTP 部首,具体的头部信息取决于客户端和服务器

4.3 返回对象

  • 常用的返回对象

    1. HttpResponse 可以直接返回一些字符串内容
    2. render 将数据在模板中渲染并显示 返回一个 html 页面
    3. JsonResponse 返回一个 json 类型,通常用于 ajax 交互
from django.http import HttpResponse	
from django.shortcuts import render
from django.http import JsonResponse

def index_str(request):
    return HttpResponse('hello word')


def index_html(request):
    return render(request, 'index.html')


def index_json(request):
    user_dict = {'user': '王', 'password': 123456}
    return JsonResponse(user_dict, json_dumps_params={'ensure_ascii': False})


# 使用 json 模块来返回 json 格式的数据
import json
def test_json(request):
            user_dict = {'user': '王', 'password': 123456}
            # ensure_ascii=True会将中文转换为编码 {"user": "\u738b", "password": 123456}
            json_str = json.dumps(user_dict, ensure_ascii=False)
            return HttpResponse(json_str)

 前端序列化
        - 前后端方法对应
            JSON.stringify()   -    json.dumps()         字符串转换为 json
            JSON.parse()       -    json.loads()	  解析 json 为字符串
方法 作用
json.dumps() 将 python 对象编码成 Json 字符串
json.loads() 将 Json 字符串解码成python对象
json.dump() 将 python 中的对象转化成 json 储存到文件中
json.load() 将文件中的 json 的格式转化成 python 对象提取出来
方法 作用
JSON.stringify() 将 JavaScript 对象转换为 JSON 字符串
JSON.parse() 将数据转换为 JavaScript 对象

4.4 视图面向对象


  • View 配置
from django.shortcuts import render
from django.views import View		// 导入 View 包

// 继承 View
class Test(View):		
    def get(self, request):
        return render(request, 'index.html')
    
  • urls.py 配置
from django.urls import path
from .views import Test			// 导入 Test

urlpatterns = [
    path('index/', Test.as_view())	// as_view() 注册路由
]

5. Restful 接口规范

5.1 Restful

url 定位资源,简单来说,通过一个 url 地址可以让我们知道这个地址所提供的功能是什么?
  1.  127.0.0.1/add/user     那么可以看出这个 url 要做的事情就是 添加一个用户
  2.  127.0.0.1/get/user/1   获取一个用户并且这个用户的 id 是 1
归纳一句话: url  一切皆资源

5.2 Restful 常用方法

Get		获取资源时使用比如我们查看一个网页
Post	 提交资源时使用比如我们注册一个用户的时候
Put		修改资源时时候比如我们修改自己的用户信息的时候
Delete	  删除资源时使用比如我们注销我们的账号的时候

5.3 Http 协议

网上应用最为广泛的一种网络协议,所有的www文件都必须遵守这个标准

5.4 Http 的无状态性

无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求,但是当同一个浏览器再次给你服务器发送请求的时候,服务器并不知道它就是刚才那个浏览器。

简单的说,服务器不会记得你,所以就是无状态协议

5.5 Http 常用状态码

200		成功
400		请求错误,一般是参数格式有误的时候出现403禁止访间
404 	 没有获取到 url 地址
405		方法禁用,比如这个地址指定用 get 方法,但你用了 post,就会有这个提示
500		服务器异常

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhhahcaj
系列文章
更多 icon
同类精品
更多 icon
继续加载