django基础(二)之 request参数请求详解
request 包含了用户客户端的所有数据,直接看例子
def aa(request): print request.envion #打印所有信息
views.py(get方法)
POST方法
功能说明: 点击提交后,跳转到自己想要的页面,默认情况下点击提交 会报csrf的错,所以要在settings.py注释掉与csrf 有关的middleware:
urls.py
views.py
from django.shortcuts import render
from django.shortcuts import HttpResponse
from django.shortcuts import redirect
def login(request): ###request为形参,也可以是其他名字,但必须有这么一个参数
error_msg = ""
if request.method == "POST":
user = request.POST.get('user',None)
passwd = request.POST.get('password',None)
print (user,passwd)
if user == 'root' and passwd == 'root':
return redirect('/home.html') ### redirect 重定向,"/" 代表域名(本例为127.0.0.1/)
else:
error_msg = "用户名密码错误"
return render(request,'login.html',{'error_msg' : error_msg})
USRE_LIST = []
def home(request):
#如果请求方法为POST,则获取获取输入的值并添加到列表,并在页面显示出来
if request.method == 'POST':
#获取输入的值
uname = request.POST.get('username') #这里的username为html里指定的name的值
email = request.POST.get('email')
gender = request.POST.get('gender')
user_dic = {'u':uname,'e':email,'gender':gender}
USRE_LIST.append(user_dic)
##访问页面
return render(request,'home.html',{'user_list':USRE_LIST})
home.html
<div> <form action="/home" method="post"> <input type="text" name="username" placeholder="用户名"/> <input type="text" name="email" placeholder="邮箱"/> <input type="text" name="gender" placeholder="性别"/> <input type="submit" value="提交"/> </form> </div> <div> <table> <tr> <td>用户名</td> <td>邮箱</td> <td>性别</td> </tr> // html里的循环和变量取值 {% for row in user_list %} <tr> <td>{{ row.u }}</td> <td>{{ row.e }}</td> <td>{{ row.gender }}</td> </tr> {% endfor %} </table> </div>
实例
说明:
request包含了 客户端的所有信息,并且可打印出,因此这里就可对输入的用户名和密码进行判断:
判断正确了,可跳转到百度或者其他页面(这里只是示例)
判断错误需要返回错误提示,如:用户名密码不正确
具体操作,需要通过render方法实现,并且在login.html里写入标签
error_msg 的值是由 views里定义的error_msg获取的