django安装和rest接口写法

news2024/11/25 0:38:00

django安装

  1. 确保已经安装了Python。命令行中输入python --version来检查Python的版本。

  2. 安装Django。你可以在命令行中使用以下命令来安装Django:

    pip install django
    
  3. 创建一个新的Django项目。在命令行中,进入你想要创建项目的目录,并运行以下命令:

    django-admin startproject project_name
    

    这个命令会在当前目录下创建一个新的Django项目。

  4. 进入项目目录。在命令行中,使用cd命令进入刚刚创建的项目目录。

    cd project_name
    
  5. 运行开发服务。在命令行中,使用以下命令来启动Django开发服务器:

    python manage.py runserver
    

    开发服务器将会在本地的http://localhost:8000/上运行。

    如果是pycharm启动需要在配置上运行manage文件
    在这里插入图片描述

rest接口应用

安装和Django REST framework。

pip install django djangorestframework

进入项目目录:

cd rest_api

然后,你可以使用以下命令创建一个新的Django应用程序:

python manage.py startapp api

接下来,打开项目目录中的settings.py文件,并将Django REST framework添加到INSTALLED_APPS列表中:

ALLOWED_HOSTS = ['*']

INSTALLED_APPS = [
    ...
    'rest_framework',
    'api',
    ...
]

然后,打开应用程序目录中的views.py文件,并创建一个继承自APIView的类视图:

from rest_framework.views import APIView
from rest_framework.response import Response

class TestView(APIView):
    def get(self, request):
        data = {
            'message': 'This is a test API'
        }
        return Response(data)

接下来,打开应用程序目录中的urls.py文件,并添加一个URL模式来映射到上面创建的类视图:

from django.urls import path
from . import views

urlpatterns = [
    path('test/', views.TestView.as_view(), name='test_view'),
]

最后,打开项目目录中的urls.py文件,并将应用程序的URL模式添加到urlpatterns列表中:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('api.urls')),
]

现在,你可以运行以下命令启动Django开发服务器:

python manage.py runserver

服务器启动后,你可以使用工具如Postman或curl来发送HTTP请求来调用RESTful API接口。例如,你可以发送GET请求到http://localhost:8000/api/test/来查看测试接口的结果。

rest接口的两种写法

写法1

from rest_framework.views import APIView
from rest_framework.response import Response

class MyView(APIView):
    def get(self, request):
        param1 = request.query_params.get('param1')
        param2 = request.query_params.get('param2')
        return Response({'param1': param1, 'param2': param2})

我们定义了一个名为MyView的类视图,并重写了其中的get方法。在get方法中,我们使用request.query_params.get()方法来获取名为param1param2的查询参数的值。

要在URL配置中使用这个类视图,按照以下示例进行操作:

from django.urls import path
from .views import MyView

urlpatterns = [
    path('my-view/', MyView.as_view(), name='my-view'),
]

在上面的示例中,我们将MyView类视图作为视图函数传递给as_view()方法,并将其映射到名为my-view的URL模式。

然后,可以使用查询参数来访问接口,就像之前的示例一样:

http://localhost:8000/my-view/?param1=value1&param2=value2

当您访问带有查询参数的URL时,DRF将自动解析查询参数,并将其作为request.query_params提供给get方法。您可以在get方法中使用这些查询参数来执行相应的操作,并返回响应。

写法2

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status

def get_data(request):
    # 处理GET请求的逻辑
    data = {
        'message': 'GET request received'
    }
    return Response(data)

def create_data(request):
    # 处理POST请求的逻辑
    data = {
        'message': 'POST request received'
    }
    return Response(data, status=status.HTTP_201_CREATED)

def update_data(request, id):
    # 处理PUT请求的逻辑
    data = {
        'message': f'PUT request received for id {id}'
    }
    return Response(data)

def delete_data(request, id):
    # 处理DELETE请求的逻辑
    data = {
        'message': f'DELETE request received for id {id}'
    }
    return Response(data)

在上面的示例中,指定视图函数支持的HTTP方法。每个视图函数都接收一个request参数,用于处理请求,并返回一个Response对象作为响应。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1189891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud-Gateway无法使用Feign服务(2021.X版本)

Spring Cloud Gateway 2021.x版本,无法使用Feign调用其他服务接口。 问题原因: 在官网的 issue 里面找到了相关的问题。 How to call another micro-service on GatewayFilterFactory ? Issue #1090 spring-cloud/spring-cloud-gateway GitHubHel…

python编程复习系列——week2(Input Output (2))

文章目录 一、多行代码语句二、Escape序列三、字符串格式四、数值运算课后作业 一、多行代码语句 🥞使用反斜杠\来表示在下一行中继续使用一条语句。 subject_code "CSCI111" subject_mark 80 subject_grade "D" result "Subject re…

SOLIDWORKS --电磁仿真篇

什么是 SIMULIA? 基于3DEXPERIENCE平台的品牌 多学科多领域的协同仿真与分析优化 三大核心仿真领域 结构仿真 流体仿真 SIMULIA电磁仿真是什么? 完备的求解技术,支持从静场、低频到高频、光波的电磁仿真,支持全波仿真、混合仿真、多物理场仿真和场路…

支持C#的开源免费、新手友好的数据结构与算法入门教程 - Hello算法

前言 前段时间完成了C#经典十大排序算法(完结)然后有很多小伙伴问想要系统化的学习数据结构和算法,不知道该怎么入门,有无好的教程推荐的。今天给大家推荐一个支持C#的开源免费、新手友好的数据结构与算法入门教程:He…

Python语言:经典例题分析讲解

题1: 通过观察我们可以得出以下结论: 代码实现: """ (3)输入整数n,输出n行的字符图案。如n5时输出以下图案:* *** ***** ******* *********""""" for…

多测师肖sir_高级金牌讲师_ui自动化po框架

ui自动化po框架 一、po框架 1、基本介绍(1)po是page object 的缩写 (2)业务流程与页面元素操作分类的模式, (3)提高测试用例的可维护性、可读性 二、自动化测试框架分层如下: 结构…

MATLAB|不给糖果就捣蛋

目录 扫一扫关注公众号 效果图 代码 绘制南瓜 绘制无脸男小鬼 其中绘制风车代码: 其中 EllipsePlotter类函数代码如下 属性 (properties) 方法 (methods) 扫一扫关注公众号 效果图 代码 绘制南瓜 clc;clear;close all; [X,Y,Z]sphere(200); R1(-(1-mod(0:…

Flink(三)【运行时架构】

前言 今天学习 Flink 的一些原理性的东西,比较偏概念,但是十分重要。有人觉得上来框框敲代码才能学到东西,那是狗屁不通的道理(虽然我以前也这么认为)。个人认为,学习 JavaEE那些框架,你上来就敲…

​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​

软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】 课本里章节里所有蓝色字体的思维导图

049-第三代软件开发-软件部署脚本(一)

第三代软件开发-软件部署脚本(一) 文章目录 第三代软件开发-软件部署脚本(一)项目介绍软件部署脚本(一)其他方式 关键字: Qt、 Qml、 bash、 shell、 脚本 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object…

探讨m6调控因子与人类癌症之间的因果关系,纯生信也能轻松上5+

今天给同学们分享一篇生信文章“m6A Regulators Is Differently Expressed and Correlated With Immune Response of Esophageal Cancer”,这篇文章发表在Front Cell Dev Biol期刊上,影响因子为5.5。 结果解读: m6A调控因子在基因组中的异常与…

【2023.11.6】OpenAI发布会——近期chatgpt被攻击,不能使用

OpenAI发布会 写在最前面发布会内容GPT-4 Turbo 具有 128K 上下文函数调用更新改进了指令遵循和 JSON 模式可重现的输出和对数概率更新了 GPT-3.5 Turbo 助手 API、检索和代码解释器API 中的新模式GPT-4 Turbo 带视觉DALLE 3文字转语音 (TTS)收听语音样本…

Spark大数据应用实战

系列文章目录 送书第一期 《用户画像:平台构建与业务实践》 送书活动之抽奖工具的打造 《获取博客评论用户抽取幸运中奖者》 送书第二期 《Spring Cloud Alibaba核心技术与实战案例》 送书第三期 《深入浅出Java虚拟机》 送书第四期 《AI时代项目经理成长之道》 …

【QEMU-tap-windows-Xshell】QEMU 创建 aarch64虚拟机(附有QEMU免费资源)

“从零开始:在Windows上创建aarch64(ARM64)虚拟机” 前言 aarch64(ARM64)架构是一种现代的、基于 ARM 技术的计算架构,具有诸多优点,如低功耗、高性能和广泛应用等。为了在 Windows 平台上体验…

全国5米高程DEM数据及衍生的坡度数据

坡度是地表单元陡缓的程度,通常把坡面的垂直高度和水平距离的比值称为坡度。坡度的表示方法有百分比法、度数法、密位法和分数法四种,其中以百分比法和度数法较为常用。 坡度是地表单元陡缓的程度,通常把坡面的垂直高度和水平距离的比值称为坡…

python 时间加法 输出t分钟后的时间

题目: 现在时间是a点b分,请问t分钟后,是几点几分? 输入: 第一行包含一个整数a 第二行包含一个整数b 第三行包含一个整数t 其中,0≤a≤23,0≤b≤59,0≤t,t分钟后还…

node插件MongoDB(三)—— 库mongoose 的使用

前言 提示:使用mongoose 的前提是你安装了node和 MongoDB。 mongoose 官网文档:http://mongoosejs.net/docs/index.html 文章目录 前言一、安装二、基本使用1. 打开bin目录的mongod.exe文件2. 基本使用的代码(连接mongodb 服务)3.…

鸡尾酒学习——原谅(自制)

1、材料:冰块、君度、蓝橙力娇酒、雪碧、橘子。 2、口感:甜味为主带着一丝丝酸味,喝起来比较清爽,没有一丝酒味的小甜酒。(喜欢喝酒的可以多加酒,不喜欢喝酒的可以适量减少酒) 3、视觉效果&…

μC/OS-II---内核:任务调度

目录 内核:调度(oc_core.c文件的函数)OS_TCB(任务控制块)初始化任务控制块列表(ucos_ii.h文件的函数)系统调用,主动让渡CPU发生中断,强制当前任务让渡CPU就绪表(ucos_ii.h文件的函数)设置任务进…

SPASS-描述性分析

将身高移入变量 结果展示: 表中分析变量“身高”的个案数、所有个案中的极大值、极小值、均值、标准差及偏度和峰度