Python interface automation (2) - Django develops post interface and get interface

1. Django develops post interface

Create an html file under the templates file and process it under the views file

When submitting the form, an error is reported: CSRF verification failed. Request aborted.

Solution: Comment out 'django.middleware.csrf.CsrfViewMiddleware' in MIDDLEWARE under the settings file

Serialization processing, so that the returned data is json

2. Django develops get interface

When there are multiple parameters, serialize them so that the returned data is json

3. Code part

urls.py

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('login/', Login)
]

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
<form action="/login/" method="POST">
    <h1>用户名:<input name="username"></h1>
    <h1>密码:<input name="password"></h1>
    <input type="submit" value="登录">
</form>

</body>
</html>

views.py

import json

from django.http.response import HttpResponse
from django.shortcuts import render



# post接口请求
def Login1(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        return HttpResponse(username)
    else:
        return render(request, 'login.html')


def Login(request):
    if request.method == 'POST':
        result = {}
        username = request.POST.get('username')
        password = request.POST.get('password')
        result['user'] = username
        result['passwords'] = password
        result = json.dumps(result)
        return HttpResponse(result, content_type='application/json', charset='utf-8')
    else:
        return render(request, 'login.html')


# get接口请求
def Login2(request):
    if request.method == 'GET':
        result = {}
        username = request.GET.get('username')
        phone = request.GET.get('phone')
        data = request.GET.get('data')
        result['user'] = username
        result['phoneNum'] = phone
        result['data'] = data
        result = json.dumps(result)
        return HttpResponse(result, content_type='application/json', charset='utf-8')
    else:
        return render(request, 'login.html')

Guess you like

Origin blog.csdn.net/yuan_ahui/article/details/125709136