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获取的

 

posted @ 2018-04-27 14:24  FRESHMANS  阅读(1927)  评论(0编辑  收藏  举报