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

yizhihongxing

下面我将为你详细讲解“Python requests用法和django后台处理详解”的完整攻略,同时给出两个示例来说明。

Python requests用法

Python requests是一个流行的HTTP库,它可以用于向Web服务器发送HTTP请求,然后从Web服务器接收HTTP响应。以下是Python requests的一些常见用法:

发送HTTP GET请求

import requests

response = requests.get('https://www.example.com')
print(response.text)

这段代码向指定的URL地址发送一个HTTP GET请求,并打印响应的文本内容。

发送HTTP POST请求

import requests

data = {'name': 'John', 'age': 30}
response = requests.post('https://www.example.com', data=data)
print(response.text)

这段代码向指定的URL地址发送一个HTTP POST请求,并传递一个包含姓名和年龄的数据字典。

发送HTTP PUT请求

import requests

data = {'name': 'John', 'age': 30}
response = requests.put('https://www.example.com', data=data)
print(response.text)

这段代码向指定的URL地址发送一个HTTP PUT请求,并更新一个包含姓名和年龄的数据字典。

发送HTTP DELETE请求

import requests

response = requests.delete('https://www.example.com')
print(response.text)

这段代码向指定的URL地址发送一个HTTP DELETE请求,并删除服务器上的资源。

修改HTTP请求头

import requests

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
response = requests.get('https://www.example.com', headers=headers)
print(response.text)

这段代码向指定的URL地址发送一个HTTP GET请求,并使用指定的User-Agent头。

Django后台处理详解

Django是一个流行的Python Web框架,它可以用于开发高质量的Web应用程序。以下是Django后台处理的一些常见用法:

创建数据库模型

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()

    def __str__(self):
        return self.name

这段代码创建了一个名为Person的模型,它有一个姓名和一个年龄字段。

创建数据表

python manage.py makemigrations
python manage.py migrate

这段代码可以创建数据库表格,同时还可以迁移数据库更新。

操作数据库

from myapp.models import Person

# 添加数据
person = Person.objects.create(name='John', age=30)

# 查找数据
person = Person.objects.get(id=1)

# 更新数据
person.age = 40
person.save()

# 删除数据
person.delete()

这段代码演示了如何添加、查找、更新和删除数据库中的数据。

创建后台管理

from django.contrib import admin
from myapp.models import Person

admin.site.register(Person)

这段代码可以创建后台管理界面,方便管理数据。

定义路由

from django.urls import path
from myapp.views import PersonListView, PersonCreateView, PersonUpdateView, PersonDeleteView

urlpatterns = [
    path('', PersonListView.as_view(), name='person_list'),
    path('create/', PersonCreateView.as_view(), name='person_create'),
    path('<int:pk>/update/', PersonUpdateView.as_view(), name='person_update'),
    path('<int:pk>/delete/', PersonDeleteView.as_view(), name='person_delete'),
]

这段代码定义了用于浏览、创建、更新和删除Person模型实例的路由。

示例说明

示例1:使用Python requests向REST API发送HTTP请求,并获取JSON响应

import requests

url = 'https://jsonplaceholder.typicode.com/posts/1'
response = requests.get(url)

if response.status_code == 200:
    data = response.json()
    print(data['title'])

这个示例向一个REST API的URL地址发送HTTP请求,并获取JSON格式的响应。如果HTTP状态码为200,则输出获取的数据的title字段。

示例2:使用Django后台管理创建、查找、更新和删除数据库条目

from django.test import TestCase, Client
from django.urls import reverse
from myapp.models import Person

class PersonTestCase(TestCase):

    def setUp(self):
        self.client = Client()
        self.person = Person.objects.create(name='John', age=30)

    def test_person_create(self):
        url = reverse('person_create')
        response = self.client.post(url, {'name': 'Emily', 'age': 25})
        self.assertEqual(response.status_code, 302)
        self.assertEqual(Person.objects.count(), 2)

    def test_person_detail(self):
        url = reverse('person_detail', kwargs={'pk': self.person.pk})
        response = self.client.get(url)
        self.assertEqual(response.status_code, 200)

    def test_person_update(self):
        url = reverse('person_update', kwargs={'pk': self.person.pk})
        response = self.client.post(url, {'name': 'John Smith', 'age': 40})
        self.assertEqual(response.status_code, 302)
        self.person.refresh_from_db()
        self.assertEqual(self.person.age, 40)

    def test_person_delete(self):
        url = reverse('person_delete', kwargs={'pk': self.person.pk})
        response = self.client.post(url)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(Person.objects.count(), 0)

这个示例是一个Django测试用例,它演示了如何使用Django后台管理创建、查找、更新和删除数据库条目。在setUp方法中创建了一个Person实例,然后在test_*方法中使用Client对象向访问URL发送HTTP请求,以模拟浏览器行为,最后使用各种断言来测试结果是否符合预期。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python requests用法和django后台处理详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Django基础知识与基本应用入门教程

    下面是Django基础知识与基本应用入门教程的完整攻略: 安装Django 你可以使用以下命令来安装Django: pip install Django 创建Django项目 使用以下命令来创建一个Django项目: django-admin startproject myproject 其中,”myproject”是你的项目名称。 创建Django应用 在…

    Django 2023年5月16日
    00
  • django crm 左侧菜单栏

      在app中创建一个service文件夹,将 权限认证中间件, 和 将权限注入session的函数写入该文件夹 控制左侧菜单栏显示项: 给permission表加一项 , is_menu, 值为True表示要在左侧菜单栏中显示,值为False表示不需要在左侧菜单栏中显示 将权限向session中注入的时候,注入两个列表 permission_list 列表…

    Django 2023年4月12日
    00
  • [DJANGO] excel十几万行数据快速导入数据库研究

    先贴原来的导入数据代码: 8 import os os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “www.settings”) ”’ Django 版本大于等于1.7的时候,需要加上下面两句 import django django.setup() 否则会抛出错误 django.core.exception…

    Django 2023年4月10日
    00
  • vs code搭建Django环境

    在网上找了很多博客,看了vs code的官方文档,最终拼凑起来,终于搭建起来了djangode开发虚拟环境(win10下) 一、新建项目文件夹     F:\Python\temp\django_demo(例子) 二、在项目文件夹创建虚拟python环境 # macOS/Linux    sudo apt-get install python3-venv  …

    2023年4月9日
    00
  • Django发送邮件,注册时邮件获取验证码

    settings.py里面的配置 1 # 邮件 2 EMAIL_HOST = ‘smtp.163.com’ 3 # 设置端口号,为数字 4 EMAIL_PORT = 25 5 #设置发件人邮箱 6 EMAIL_HOST_USER = ‘kongfuzi_k@163.com’ 7 # 设置发件人 授权码 8 EMAIL_HOST_PASSWORD = ‘123…

    Django 2023年4月13日
    00
  • 详解Django HTML表单实现用户登录退出

    在Django中,实现用户登录和退出是非常简单的,主要涉及到视图函数和模板的编写。 下面是实现用户登录和退出功能步骤: 创建Django项目 创建Django项目并在其中创建一个名为 "accounts " 的应用程序。 django-admin startproject myproject cd myproject python man…

    Django 2023年3月12日
    00
  • Django 新建项目运行 python manage.py runserver 8080 报错

    PS D:\Programs\Python\WebSite1\MySite> python manage.py runserver 8080 Watching for file changes with StatReloader Exception in thread django-main-thread: Traceback (most recent…

    Django 2023年4月16日
    00
  • Django+Vue打造购物网站(九)

    支付宝沙箱环境配置 https://openhome.alipay.com/platform/appDaily.htm?tab=info 使用支付宝账号进行登陆 RSA私钥及公钥生成 https://docs.open.alipay.com/291/105971/下载工具,按文档提示使用 在trade文件夹下新建keys文件夹,新建public.txt和pr…

    2023年4月9日
    00
合作推广
合作推广
分享本页
返回顶部