Django2.2 Web系统从零开始:1.7 登录登陆

说来好多基础的内容,这次来点实用的内容—实现登录功能,主要熟悉一下的表单的应用。用到的是HTML基础的控件:文本、密码和提交按钮。

如果对Html不熟的话,建议你先了解一下。

1

打开index.html文件,随意输入一些表单控件,请注意文件里的{% csrf_token %},它是防止CSRF 攻击用的。CSRF(Cross Site Request Forgery),是跨站点请求伪造的意思。攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的。

Django框架在第一次响应来自某个客户端的请求时,会在服务器端随机生成一个token并把它放在cookie 里。然后每次POST 请求都会带上这个token,这样就能避免被CSRF 攻击了。

登录登陆

{% csrf_token %}

{{ result }}

账号:

密码:

2

HTML里的表单,要想被获取到相关内容,可通过request.POST.get('account', '')的方式进行,打开views.py,实现的具体代码如下。

from django.shortcuts import render

result = ''

def index(request):

global result

if request.method == 'POST':

account = request.POST.get('account', '')

password = request.POST.get('password', '')

print("account=", account)

if account == 'admin' and password == '123':

result = '恭喜你,登录成功!'

else:

result = '登录账号或密码不正确!'

return render(request, 'sales/index.html', {'result': result})

3

登录功能,通过index.html,views.py的代码就轻轻松松实现了,若再调整一下urls.py的内容,就一切妥妥的了。

from django.urls import path

from . import views

# 进行方法和请求名称绑定

urlpatterns = [

path('index/', views.index),

]

4

身为程序员,不能说代码妥了就妥了,还得运行起来,瞧瞧它究竟是什么模样。走,骚起来,看看是你骚,还是它烧。

输入账号:admin,密码:123456,结果是这样的。

有错咱就改。正确账号是:admin,密码是:123。这下没错了吧。这说明Google没有封锁浏览器。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190526A053EH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券