Django配合python进行requests请求的问题及解决方法

目录
  • Django配合python进行requests请求
    • 前言
    • Django代码部分
    • rest_framework
    • api/views.py
    • INSTALLED_APPS
    • 本地接口

Django配合python进行requests请求

前言

在我们写代码的时候,经常会用到前后端分离开发的方法,例如微信小程序,安卓,网站等等…
那么Python作为目前比较流行的编程语言,他内置的Django框架就是一个很好的网络框架,可以被用来搭建后端,和前端进行交互。那么我们现在来学习一下,如何用Python本地进行requests请求,并通过请求让Django帮我们解决一些问题。

Django代码部分

首先在创建一个Django项目之后,会发现官方已经帮我们配置好了很多的文件了。但是这些文件依然不够,我们需要再去创建一个app。那么就可以直接在终端(terminal)中输入一行指令。

python manage.py startapp api

在输入这行指令之后,我们会发现,我们的代码中出现了一个叫api的文件夹。

rest_framework

现在我们打开api文件夹下的views.py文件。然后可以可以看到里面什么也没有。

那么我们现在来写一个简单的接口。这个接口就是用来接收requests请求,并处理后返回的。他的本质就是一个class。我们现在来写一个简单的demo,代码如下:

api/views.py

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

class demo(APIView):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

    def post(self, request, *args, **kwargs):
        print(request.data)
        return Response({'message': True})

我们再来看一下项目文件里的urls.py这个文件的意义就是可以配置网页的地址和页面的接口内容。

from django.contrib import admin
from django.urls import path
from api import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('login/', views.demo.as_view())
]

这样写的话,在我们运行了django项目之后,我们就可以直接在网址的端口后加上/login/,就可以直接看到我们demo的接口界面了。

INSTALLED_APPS

在写完上面的部分之后,我们还需要写一个东西,不然我们的framework可能不会正常的工作。那么我们来找到代码中的setting.py。找到INSTALLED_APPS。

找到之后我们来加入一样参数"rest_framework"。

本地接口

现在我们运行了Django界面,但是我们没有写测试的部分,所以我们也不确定我们的代码是否正确。
代码如下:

import requests
url = 'http://127.0.0.1:8000/login/'
r = requests.post(url=url, data={'test': "heiheihei", 'mes':"666"})
ui = r.text
print(ui)

在运行之后我们的可以看到本地接受到了一个参数{‘message’: True}。那么我们的django和Python的本地交互就写完了。

到此这篇关于Django配合python进行requests请求的文章就介绍到这了,更多相关Django python requests请求内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python requests用法和django后台处理详解

    目录 1.requests 的常见用法 1.1.提交查询 1.2.提交表格 1.3.在提交时附加文件: 1.4.保持状态 1.5.查看结果 2.django 的处理 2.1.params 传入的参数 2.2.data 传入的参数 2.3.files 传入的参数 总结 1.requests 的常见用法 requests 除了 url 之外,还有 params, data 和 files 三个参数,用于和服务器后台交互. 1.1.提交查询 注意 get 只支持 params ,不支持 data 和

  • django实现web接口 python3模拟Post请求方式

    作为抛砖引玉,用python3实现百度云语音解析,首先需要模拟Post请求把音频压缩文件丢给百度解析. 但是遇到一个问题客户端怎麽丢数据都是返回错误,后来在本地用django搭建了一个接口模拟一下,发现还是有地方弄错了! 研究这玩意有啥用? 1.用python做自动化运维,客户端发送收集好的信息(模拟post发送) 2.前后端分离,django只提供数据,前端用vuejs,nodejs实现 3.3端 立体通信 上代码: url.py from django.conf.urls import ur

  • Django Python 获取请求头信息Content-Range的方法

    request请求头信息的键会加上HTTP_转换成大写存到request.META中 因此你只需要 content_range = request.META['HTTP_CONTENT_RANGE'] 这样就可以获取到Content-Range的信息. django官网的解释: A standard Python dictionary containing all available HTTP headers. Available headers depend on the client and

  • Python3+Django get/post请求实现教程详解

    一.说明 之前写了一篇"Python3+PyCharm+Django+Django REST framework开发教程 ",想着直接介绍rest就完了.但回过头来看,一是rest在解耦的同时将框架复杂化了如果没有多终端那rest根本没有降低复杂度反而增加了复杂度,二是基础的get和post实现自己还是看半天.所以还是有必要再写一篇来介绍django常规的MVC开发. 环境搭建程项目创建都类似的的rest化部分之前(2.5及之前)进行操作即可,就不重复说明了.这里我创建的项目为djan

  • Django配合python进行requests请求的问题及解决方法

    目录 Django配合python进行requests请求 前言 Django代码部分 rest_framework api/views.py INSTALLED_APPS 本地接口 Django配合python进行requests请求 前言 在我们写代码的时候,经常会用到前后端分离开发的方法,例如微信小程序,安卓,网站等等…那么Python作为目前比较流行的编程语言,他内置的Django框架就是一个很好的网络框架,可以被用来搭建后端,和前端进行交互.那么我们现在来学习一下,如何用Python本

  • python中Requests请求的安装与常见用法

    目录 一.requests 二.requests安装方式 三.说说常见的两种请求,get和post 1.get请求 2.post请求 四.requests发送请求 五.response 补充:requests中遇到问题 总结 一.requests request的说法网上有很多,简单来说就是就是python里的很强大的类库,可以帮助你发很多的网络请求,比如get,post,put,delete等等,这里最常见的应该就是get和post 二.requests安装方式 $ pip install r

  • 基于Python的Post请求数据爬取的方法详解

    为什么做这个 和同学聊天,他想爬取一个网站的post请求 观察 该网站的post请求参数有两种类型:(1)参数体放在了query中,即url拼接参数(2)body中要加入一个空的json对象,关于为什么要加入空的json对象,猜测原因为反爬虫.既有query参数又有空对象体的body参数是一件脑洞很大的事情. 一开始先在apizza网站 上了做了相关实验才发现上面这个规律的,并发现该网站的请求参数要为raw形式,要是直接写代码找规律不是一件容易的事情. 源码 import requests im

  • Python使用requests提交HTTP表单的方法

    Python的requests库, 其口号是HTTP for humans,堪称最好用的HTTP库. 使用requests库,可以使用数行代码实现自动化的http操作.以http post,即浏览器提交一个表格数据到web服务器,为例,来说明requests的使用. 无cookie import requests url = 'www.test.org' data = {'username': 'user', 'password': '123456'} response = requests.p

  • python反扒机制的5种解决方法

    前言 反爬虫是网站为了维护自己的核心安全而采取的抑制爬虫的手段,反爬虫的手段有很多种,一般情况下除了百度等网站,反扒机制会常常更新以外.为了保持网站运行的高效,网站采取的反扒机制并不是太多,今天分享几个我在爬虫过程中遇到的反扒机制,并简单介绍其解决方式. 基于User-Agent反爬 简介:服务器后台对访问的User_Agent进行统计,单位时间内同一User_Agent访问的次数超过特定的阀值,则会被不同程度的封禁IP,从而造成无法进行爬虫的状况. 解决方法: 一 . 将常见的User-Age

  • pip安装Python库时遇到的问题及解决方法

    笔者电脑系统是win7,同时安装了Python2.7和Python3.6,但是在通过命令行直接使用"pip install XXX"安装Python库时出现了以下的错误信息: Fatal error in launcher: Unable to create process using '"' 解决方法: 1,找到你的Python版本对应的解释器的名称 首先你需要进入安装Python相应版本所在的文件夹.以我的Python版本为例,这是我的Python2.7版本对应的解释器名

  • AngularJS出现$http异步后台无法获取请求参数问题的解决方法

    本文实例讲述了AngularJS出现$http异步后台无法获取请求参数问题的解决方法.分享给大家供大家参考,具体如下: angular在通过异步提交数据时使用了与jQuery不一样的请求头部和数据序列化方式,导致部分后台程序无法正常解析数据. 原理分析(网上的分析): 对于AJAX应用(使用XMLHttpRequests)来说,向服务器发起请求的传统方式是:获取一个XMLHttpRequest对象的引用.发起请求.读取响应.检查状态码,最后处理服务端的响应.整个过程示例如下: var xmlht

  • python提示No module named images的解决方法

    本文讲述了python提示No module named images的解决方法,非常实用!分享给大家供大家参考.具体方法如下: 出现提示:ImportError: No module named images 表示找不到images模块 可将: import images 替换为: import wx.py.images as images 将: images.getNewBitmap 替换为: images.getPyBitmap() 即可解决问题. 希望本文所述对大家的Python程序设计

  • ajax的get请求时缓存处理解决方法

    本文实例讲述了ajax的get请求时缓存处理解决方法.分享给大家供大家参考.具体分析如下: 很多时候在Ajax的get方法调用的时候由于缓存的原因无法及时获取正确的数据,这里就来分析一下解决这一问题的方法: 1. 在url后面添加一个随机数,如: 复制代码 代码如下: http://www.test.com?a=a&b=b&r=Math.random(); 2. 在url后面添加时间戳: 复制代码 代码如下: var t = new Date().getTime(); http://www

  • Jquery uploadify 多余的Get请求(404错误)的解决方法

    在使用jquery uploadify时如果不设置button_image_url参数,就会出现一些多余的get请求,甚至报404的错误,这是该插件的一个bug,官方给出的解决方案如下: 找到如下代码: this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url); this.settings.button_image_url = SWFUpload.completeURL(this.settings.but

随机推荐