Django接口:
- 配置好IP,端口(命令行):
python manage.py runserver 0.0.0.0:8000 - 配置好安全设置(settings.py):
# ALLOWED_HOSTS是为了限定请求中的host值,以防止黑客构造包来发送请求.只有在列表中的host(主机,通过域名映射)才能访问.强烈建议不要使用*通配符去配置,
# 另外当DEBUG设置为False的时候必须配置这个配置.否则会抛出异常.配置模板如下:
ALLOWED_HOSTS = [
'.example.com', # Allow domain and subdomains
'.example.com.', # Also allow FQDN and subdomains
]
- api代码:一般写在(views.py):
返回json:
from django.http import HttpResponse,JsonResponse
import json
from django.core import serializers
# 传说中的json接口
def tt(request):
data = Blogone.objects.all()
json_data = serializers.serialize('json',data) # 序列化,将复杂的数据结构变成json或者xml这个格式。
json_data = json.loads(json_data)
return JsonResponse(json_data,safe=False)
# JsonResponse(这个类是HttpRespon的子类):data默认是一个字典类型,当 safe 这个参数被设置为:False ,那data可以填入任何能被转换为JSON格式的对象,比如list, tuple, set。 默认的safe 参数是 True. 如果你传入的data数据类型不是字典类型,那么它就会抛出 TypeError的异常
# 附: json.dumps()用于将dict类型的数据转成str
# json.loads()用于将str类型的数据转成dict。
# json.dump()用于将dict类型的数据转成str,并写入到json文件中。
# json.load()用于从json文件中读取数据。
返回视图:
from django.shortcuts import render
from .models import Blogone
def index(request):
title_list = Blogone.objects.all()
return render(request,'blogOne/index.html',{'title_list':title_list})