Django 接口

本文介绍如何在Django项目中配置并运行API服务,包括设置允许的主机、使用命令行启动服务等内容。同时提供了两个示例,一个是通过序列化模型数据返回JSON格式的数据,另一个是渲染HTML页面。

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})
根据引用,和,Django中的接口数量取决于你的需求和代码实现。你可以通过创建不同的APIView类来实现不同的接口。例如,在引用中,"SelectGoodsByGoodsTypeId"类是一个APIView类,它用于根据商品类型查询所有商品。根据项目的规模和需求,你可以创建多个APIView类来实现不同的接口功能。因此,django接口数量是灵活的,可以根据你的需求进行扩展。123 #### 引用[.reference_title] - *1* [Django-- (五) Django接口开发](https://blog.youkuaiyun.com/weixin_44420527/article/details/108877065)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [用django接口(实战篇)](https://blog.youkuaiyun.com/cym492224103/article/details/106374965)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [Django接口开发](https://blog.youkuaiyun.com/markshui/article/details/108163827)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值