1.settings.py中设置redis取数据
REDIS = {
'host': '127.0.0.1',
'port': 6379,
'db': 0,
}
2.settings.py中添加创建的APP ( INSTALLED_APPS)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 'rest_framework',
# 'rest_framework_swagger',
'my_test',
]
3.配置项目中的urls.py设置总路由(django版本不同,设置不同,可参考官网)
from django.conf.urls import url,include
from django.contrib import admin
# from rest_framework.schemas import get_schema_view
# from my_test.views import ReturnJson
# from . import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include("my_test.urls", namespace="my_test")), #版本1.11.4
# url(r'^index/',get_schema_view()),
# url(r'^alldata/', ReturnJson.as_view()),
]
4.在创建的app中编辑views.py,例取全部数据以json格式返回数据
#-*- coding:utf-8 -*-
from django.shortcuts import render
from django.conf import settings
from django.core.cache import cache
# from dss.Serializer import serializer
# from rest_framework.views import APIView
from redis import Redis
import json
from django.http import HttpResponse,HttpRequest
rds = Redis(**settings.REDIS)
def alldata(request):
values = []
for value in rds.sscan_iter('chinadata'):
value = value.decode('utf-8')
val = json.loads(value)
values.append(val)
return HttpResponse(json.dumps(values),content_type="application/json;charset=utf-8")
按字段分类取数据
def going(request):
values = []
# key = rds.keys()[0]
for value in rds.sscan_iter('chinadata'):
# print(type(value)) #bytes
value = value.decode('utf-8')
# print(type(value)) # str
val = json.loads(value)
# print(type(val)) #dict
status = val["status"]
if val["status"] == '准备中':
values.append(val)
# print(type(values)) #list
return HttpResponse(json.dumps(values,ensure_ascii=False),content_type="application/json;charset=utf-8")
5.设置APP中的urls.py,
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^alldata/$', views.alldata),
url(r'^going/$',views.going),
]
6.运行
python manage.py runserver