环境搭建:还是在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:
用户名:
密码:
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中