django开发 post与get接口的设计

环境搭建:还是在pycharm里直接pip Django,然后安装好之后,新建一个Django的项目,
Interpreter可以选择虚拟环境,配置python,这样就不报错了,然后用cmd到当前目录运行manage.py 指定地址端口号,就可以在网页中看网址。

Urls:这个文件可以配置url,调用方法。
Views:方法一般写在这里。

Post请求:
项目结构
在这里插入图片描述

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

Create your views here.

def login(request):
if request.method == ‘POST’:
username = request.POST.get(‘username’)
return HttpResponse(username)
else:
return render(request, ‘login.html’)

Login.html:

login

用户名:

密码:

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

Create your views here.

def login(request):
if request.method == ‘POST’:
username = request.POST.get(‘username’)
return HttpResponse(username)
else:
return render(request, ‘login.html’)

在settings中把csrf验证给关了MIDDLEWARE = [
‘django.middleware.security.SecurityMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.middleware.common.CommonMiddleware’,
#‘django.middleware.csrf.CsrfViewMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’,
‘django.middleware.clickjacking.XFrameOptionsMiddleware’,
]
这样 post请求接口就设计好了。
Get请求同理:
Views中直接改:def login(request):
if request.method == ‘GET’:
username = request.GET.get(‘username’)
mobile = request.GET.get(‘mobile’)
return HttpResponse(username, mobile)
else:
return render(request, ‘login.html’)
但是这样只会返回username。
因为我们没有把数据格式化地返回回来。
简单处理一下数据:
Get请求:def login(request):
if request.method == ‘GET’:
result = {}
username = request.GET.get(‘username’)
mobile = request.GET.get(‘mobile’)
result[‘user’] = username
result[‘mobileNum’] = mobile
result = json.dumps(result)
print(result)
return HttpResponse(result, content_type=‘application/json;charset=utf-8’)
else:
return render(request, ‘login.html’)

这样返回地就是json数据了。
Post请求:def login(request):
if request.method == ‘POST’:
result = {}
username = request.POST.get(‘username’)
mobile = request.POST.get(‘password’)
result[‘user’] = username
result[‘mobileNum’] = mobile
result = json.dumps(result)
print(result)
return HttpResponse(result, content_type=‘application/json;charset=utf-8’)
else:
return render(request, ‘login.html’)

Django使用POST和GET的区别
POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息
1.post是取web页面中提交的值
2.get是从数据库中取值
GET是通过URL传给服务器的,POST是通过HTTP头传给服务器的,post的数据是不跟在请求的url后,而是在http头中,get是在url中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值