第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Django學(xué)習(xí)筆記(6-1 用戶登錄-1)

標簽:
Python

  • users->views.py
#我们眉配置一个url,Django就会自动生成一个request放到我们的函数里面,并作为第一个参数
def login(request):
    #request.method前端发现后端的时候使用的是post还是get方法
    #用户登陆的时候使用post要安全些,我们首先判断使用的方法是否是POST,注意POST是大写的
    if request.method = ="POST":
        pass
    elif request.method=="GET":
        #不是post方法传递就返回登陆页面,让用户继续输入
        #{}中传递数据到模板,可直接在模板使用
        return render(request,"login.html",{})
  • 配置login页面的url

urls.py

from users.views import login
urlpatterns = [
    #这里是指向login函数所以不加括号,如果是使用函数就要写成login()
    url('^login/$',login,name='login')
]
  • pycharm中debug

打断点,debug模式运行,某行蓝色代表断点到了这一行。鼠标点击这一行上面的对象就会显示这个对象的值。控制台Variable显示的是蓝色行即断点所在处的变量值。F6单步调试。F8全速前进

  • 禁止访问403
    表单提交要csrf防范
{% csrf_token %}
</form>
  • 逻辑
def login(request):
    if request.method = ="post":
        #既然能进来,token验证就是通过了的
        #username,password默认为空
        #取值
        user_name = request.POST.get("username","")
        pass_word = request.POST.get("password","")
        #验证
        #需要from django.contrib.auth import authenticate
        #只需向authenticate传入user_name和pass_word就可以验证
        #成功获得一个对象,失败返回None
        #参数名称username和password是固定的
        user = authenticate(username=user_name,password=pass_word)
        #authenticate只是向数据库发起验证问用户名和密码是否正确,但是实际的登陆并没有完成
        if user is not None:
            #同样from django.contrib.auth import login
            #为什么这样就可以登陆了呢???
            #session和cookie的机制
            login(request,user)
            return render(request,"index.html")
            #x现在已经跳转到index页面了,有什么判断和逻辑就到index里面去做
            #django默认会把request和user注册到index.html页面中来的
    elif request.method=="GET":
        return render(request,"login.html",{})
  • index.html中的逻辑判断
    Django当然不希望在html页面写python代码,所以提供了方法
{% if request.user.is_authenticated %}
    代码1
    {% else %}
    代码2
{% endif %}

可见,user其实也被放到了request里面,并且还多了一个is_authenticated方法

if user is not None:
    login(request,user)
    return render(request,"index.html")
else:
    return render(request,"login.html")
點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消