题目:
使用django建立一个玩家分数排行榜服务,服务项客户端提供两个接口:
1. 客户端上传客户端号和分数(注意:并不会上传排名,客户端无法上传排名),同一个客户端可以多次上传分数,取最新的一次分数
2. 客户端查询排行榜
例子说明
· 10个客户端分别调用一次接口1,分数范围1^10000000
· 其中底个客户端调用一次接口2,输出为下图所示 接口2说明
· 可以查询任何名次段,例如可以查询20~30的表格
· 每次查询最后都要附加上调用接口的客户端的排名,如例子所示客户端5的排名被附加到了最后
任务说明
·自己设计接口地址,参数,返回值并实现接口题目:
以下是主要实现:两个接口分别对应 "upload/" (上传)和 "show/"(查询展示);数据库模型建立了两张表,一张表存储客户端号和其所上传的分数,另一张表记录名次,并且与分数表的客户端id一对一关系。由于名次是在每次上传或者更新分数时都会跟新的,所以用单独一张表存储方便处理。对于查询页面,第一次进入该页面默认显示全部的排名,后期如果数据量过大的时候可调整为只展示排名靠前的,具体多少名可根据需求更改,点击下方查询后会展示删选条件区间内的排名情况。
代码如下:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('demo1.urls')),
]
demo1/urls.py
from django.urls import path, include
from . import views
app_name = 'demo1'
urlpatterns = [
path('', views.login, name='login'),
path('logout/', views.logout, name='logout'),
path('upload/', views.upload, name='upload'),
path('show/', views.show, name='show'),
]
demo1/models.py
from django.core.valid