【无标题】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  1. 创建django项目

  2. 创建django应用

  3. 配置文件

    注册app

    模板目录

    数据库

  4. 编写模型类

  5. 迁移

  6. 创建超级用户--向表中添加数据

  7. 注册模型类

  8. 写视图

  9. 配路由

  10. 启动项目


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>


总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值