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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM