环境搭建:还是在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中
|