说来好多基础的内容,这次来点实用的内容—实现登录功能,主要熟悉一下的表单的应用。用到的是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没有封锁浏览器。
领取专属 10元无门槛券
私享最新 技术干货