首页
学习
活动
专区
圈层
工具
发布

Django实战-每日笑话接口封装

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

通过前几小节的学习,也大概清楚服务端返回给小程序的 json 数据格式。会发现在处理返回的数据都是使用 JsonResponse 进行 json 的序列化与反序列化。

代码语言:javascript
复制
from django.http import JsonResponse

一、json 数据格式的每日笑话文件创建

title 标题

content 内容

代码语言:javascript
复制
[
    {
        "key": "5bc69eb56e36f0d9d1fa89d9",
        "title": "\u6628\u5929\u8fc7\u751f\u65e5\uff0c\u4e00\u5927\u5e2e\u670b...",
        "content": [
            "\u6628\u5929\u8fc7\u751f\u65e5\uff0c\u4e00\u5927\u5e2e\u670b\u53cb\u4e00\u8d77\uff0c\u70b9\u8721\u70db\u8bb8\u613f\uff0c\r\n\u5439\u8721\u70db\u7684\u65f6\u5019\u4e00\u4e2a\u529b\u5ea6\u6ca1\u638c\u63e1\u597d\u628a\u5047\u95e8\u7259\u5439\u6389\u4e86\uff0c\u6389\u5728\u4e86\u86cb\u7cd5\u4e0a.."
        ]
    },
]

二、json 数据格式文件读取

代码语言:javascript
复制
import json
import os
import random
from django.http import JsonResponse
代码语言:javascript
复制
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)

三、路由

代码语言:javascript
复制
from django.urls import path

from .views import service

urlpatterns = [
    path("joke", service.joke),
]
下一篇
举报
领券