Django实战-每日笑话接口封装
- 2019 年 10 月 4 日
- 笔记
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
通过前几小节的学习,也大概清楚服务端返回给小程序的 json 数据格式。会发现在处理返回的数据都是使用 JsonResponse 进行 json 的序列化与反序列化。
from django.http import JsonResponse
一、json 数据格式的每日笑话文件创建

title 标题
content 内容
[ { "key": "5bc69eb56e36f0d9d1fa89d9", "title": "u6628u5929u8fc7u751fu65e5uff0cu4e00u5927u5e2eu670b...", "content": [ "u6628u5929u8fc7u751fu65e5uff0cu4e00u5927u5e2eu670bu53cbu4e00u8d77uff0cu70b9u8721u70dbu8bb8u613fuff0crnu5439u8721u70dbu7684u65f6u5019u4e00u4e2au529bu5ea6u6ca1u638cu63e1u597du628au5047u95e8u7259u5439u6389u4e86uff0cu6389u5728u4e86u86cbu7cd5u4e0a.." ] }, ]
二、json 数据格式文件读取
import json import os import random from django.http import JsonResponse
def joke(request): # 定义全局变量 all_jokes global all_jokes if not all_jokes: # 加载文件 all_jokes = json.load(open(os.path.join(settings.BASE_DIR, "jokes.json"), "r")) limits = 10 sample_jokes = random.sample(all_jokes, limits) response = CommonResponseMixin.wrap_json_response(data=sample_jokes) return JsonResponse(data=response, safe=False)


三、路由
from django.urls import path from .views import service urlpatterns = [ path("joke", service.joke), ]
