提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
-
创建django项目
-
创建django应用
-
配置文件
注册app
模板目录
数据库
-
编写模型类
-
迁移
-
创建超级用户--向表中添加数据
-
注册模型类
-
写视图
-
配路由
-
启动项目
FBV:函数视图
CBV:类视图
from django.shortcuts import render
from django.views import View
# 定义注册类视图
class RegisterView(View):
def get(self,request):
return render(request, 'register.html')
def post(self,request):
# 获取注册的数据,将数据在登录页面展示
name1 = request.POST.get("username")
pwd1 = request.POST.get("password")
mobile1 = request.POST.get("mobile")
# 将获取到的数据传到登录页面
data = {
"name": name1,
"pwd": pwd1,
"mobile": mobile1
}
return render(request, 'login.html', data)
# 给类视图配置路由 as_view():会自动判断请求方式,执行对应类视图中的请求方式
path("register/",views.RegisterView.as_view())
注册页面:
# 定义注册类视图
class RegisterView(View):
def get(self,request):
return render(request, 'register.html')
def post(self,request):
# 获取注册的数据,将数据在登录页面展示
name1 = request.POST.get("username")
pwd1 = request.POST.get("password")
mobile1 = request.POST.get("mobile")
# django中的添加 模型类.objects.create() 等同于 insert into 表名 values()
try: # 后边存放可能出现异常时的代码
Users.objects.create(name=name1,password=pwd1,mobile=mobile1)
except Exception as e:
print(e)
return HttpResponse("注册失败")
# 注册成功跳转到登录页面
# return HttpResponse("注册成功")
# 注册成功重定向到登录页面
return redirect('/login/')
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册页面</title>
</head>
<body>
<form method="post" action="/register/">
{% csrf_token %}
用户名:<input type="text" name="username"><br/>
密码:<input type="password" name="password"><br/>
<input type="submit" value="注册">
</form>
</body>
</html>
将注册的数据添加到数据库中,如果注册成功跳转到登录页面
1.如果想要数据添加到数据库中--数据库中要有数据表---对应编写模型类
2.将注册的数据添加到数据库中---也就是要获取表单中的内容
--1.获取数据--POST请求--request.POST
3.如果注册成功跳转到登
如果注册失败响应注册失败
4.登录的思路
# 定义登录类视图
class LoginView(View):
# 先将登录页面渲染
def get(self,request):
return render(request,'login.html')
def post(self,request):
# 获取表单中的数据获取登录页面信息
name = request.POST.get("username")
pwd = request.POST.get("pwd")
# 用获取到的数据和数据库中的数据做对比,判断数据是否存在
try:
# 模型类.objects.get()
Users.objects.get(name=name,password=pwd)
except Exception as e:
print(e)
return HttpResponse("登录失败")
return HttpResponse("登录成功")
1.先获取表单中的内容,和数据库中查找出来的数据做对比
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form method="post" action="#">
{% csrf_token %}
用户名:<input type="text" name="username"><br/>
密码:<input type="password" name="pwd"><br/>
<input type="submit" value="登录">
</form>
</body>
</html>