开源web框架django知识总结(十一)
账号登录
前端页面简介
login.html文件
@submit.prevent #阻止默认提交
可以使用 v-cloak 指令设置样式,这些样式会在 Vue 实例编译结束时,从绑定的 HTML 元素上被移除。
当网络较慢,网页还在加载 Vue.js ,而导致 Vue 来不及渲染,这时页面就会显示出 Vue 源代码。我们可以使用 v-cloak 指令来解决这一问题。
Vue中使用v-model指令来实现表单元素和数据的双向绑定。监听用户的输入,然后更新数据。
- 因为input中的v-model绑定了msg,所以会实时将输入的内容传递给msg , msg发生改变。
- 当msg发生改变时,因为上面使用了插值语法将msg的值插入到DOM中,所以DOM会发生响应的改变。所以通过v-model实现了双向的绑定。
login.js文件
用户名登录
1. 用户名登录逻辑分析
2. 用户名登录接口设计
1.请求方式
选项 | 方案 |
---|---|
请求方法 | POST |
请求地址 | /login/ |
2.请求参数:表单
参数名 | 类型 | 是否必传 | 说明 |
---|---|---|---|
username | string | 是 | 用户名 |
password | string | 是 | 密码 |
remembered | string | 是 | 是否记住用户 |
3.响应结果:HTML
字段 | 说明 |
---|---|
登录失败 | 响应错误提示 |
登录成功 | 重定向到首页 |
3. 用户名登录接口定义
# 传统登陆(校验用户名和密码)
class LoginView(View):
def post(self, request):
pass
- 用户名登录后端逻辑
import json
import re
from django.contrib.auth import login, authenticate
from django.http import JsonResponse
from django.views import View
from django_redis import get_redis_connection
from .models import User
# Create your views here.
import logging
logger = logging.getLogger('django')
# 传统登陆(校验用户名和密码)
class LoginView(View):
def