用Django实现玩家分数排行榜

本文介绍如何使用Django构建一个玩家分数排行榜服务。服务包括两个接口:1) 客户端上传分数,系统自动取最新分数;2) 客户端查询排行榜。系统设计了两个接口"upload/"(上传分数)和"show/"(查询展示),并使用两表存储数据,确保名次实时更新。示例展示了10个客户端上传分数和查询结果的情况。
摘要由CSDN通过智能技术生成

题目:

使用django建立一个玩家分数排行榜服务,服务项客户端提供两个接口:

1. 客户端上传客户端号和分数(注意:并不会上传排名,客户端无法上传排名),同一个客户端可以多次上传分数,取最新的一次分数

2. 客户端查询排行榜

例子说明

· 10个客户端分别调用一次接口1,分数范围1^10000000

· 其中底个客户端调用一次接口2,输出为下图所示 接口2说明

· 可以查询任何名次段,例如可以查询20~30的表格

· 每次查询最后都要附加上调用接口的客户端的排名,如例子所示客户端5的排名被附加到了最后

 

v2-a79e9297655a93437b5652c6ad2537a2_b.jpg

任务说明

·自己设计接口地址,参数,返回值并实现接口题目:

以下是主要实现:两个接口分别对应 "upload/" (上传)和 "show/"(查询展示);数据库模型建立了两张表,一张表存储客户端号和其所上传的分数,另一张表记录名次,并且与分数表的客户端id一对一关系。由于名次是在每次上传或者更新分数时都会跟新的,所以用单独一张表存储方便处理。对于查询页面,第一次进入该页面默认显示全部的排名,后期如果数据量过大的时候可调整为只展示排名靠前的,具体多少名可根据需求更改,点击下方查询后会展示删选条件区间内的排名情况。

 

v2-a6b8c7591e3ced03ee5c42760030f44a_b.jpg
上传页面

 

v2-f21a4accf071a8c1cfde5c1035727cb5_b.jpg

查询展示页面1

 

v2-a762b51b2775e51bfe43a76c34ca52b0_b.jpg

查询展示页面2

代码如下:

urls.py

        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
实现注册功能,需要进行以下步骤: 1. 创建一个 Django 项目,并在其中创建一个应用程序。 2. 在应用程序中创建一个名为 `views.py` 的 Python 文件,并添加以下代码: ```python from django.shortcuts import render, redirect from django.contrib.auth.forms import UserCreationForm from django.contrib.auth import authenticate, login def register(request): if request.method == 'POST': form = UserCreationForm(request.POST) if form.is_valid(): form.save() username = form.cleaned_data.get('username') password = form.cleaned_data.get('password1') user = authenticate(username=username, password=password) login(request, user) return redirect('home') else: form = UserCreationForm() return render(request, 'registration/register.html', {'form': form}) ``` 3. 在应用程序中创建一个名为 `urls.py` 的 Python 文件,并添加以下代码: ```python from django.urls import path from . import views urlpatterns = [ path('register/', views.register, name='register'), ] ``` 4. 创建一个名为 `register.html` 的 HTML 模板文件,并添加以下代码: ```html {% extends 'base.html' %} {% block content %} <h2>Register</h2> <form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">Register</button> </form> {% endblock %} ``` 5. 在项目的根目录中的 `settings.py` 文件中添加以下行: ```python INSTALLED_APPS = [ # ... 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # ... ] AUTHENTICATION_BACKENDS = [ 'django.contrib.auth.backends.ModelBackend', ] LOGIN_REDIRECT_URL = 'home' LOGOUT_REDIRECT_URL = 'home' ``` 6. 运行项目,并在浏览器中输入 `http://127.0.0.1:8000/register/` 访问注册页面。 以上就是使用 Django 实现注册功能的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值