美文网首页
配置Django返回API接口

配置Django返回API接口

作者: _Haimei | 来源:发表于2018-06-04 11:17 被阅读20次

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

相关文章

网友评论

      本文标题:配置Django返回API接口

      本文链接:https://www.haomeiwen.com/subject/nppesftx.html