django

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

文章目录

  • 注册思路:
  • 登录思路:


注册思路:

有注册页面---你想用户注册哪些信息那就写好对应的表单

将注册信息添加到数据库中,---用户模型类,django中添加数据的写法

实际上注册就是添加数据,需要注意字段是否匹配

登录思路:

登录相当于查询数据

  1. 创建django项目

  2. 创建django应用

  3. 配置文件

    数据库、模板目录、注册app

  4. 写模型类:相当于创建数据表,和迁移一起操作

  5. 迁移

  6. 创建超级用户

  7. 注册模型类

  8. 写视图函数

9

from django.shortcuts import render,HttpResponse
from django.views import View
from myapp.models import Users,Heros
# Create your views here.
# 定义注册视图
class Register(View):
    def get(self,request):
        # 将注册页面渲染出来
        return render(request,'register.html')
    # 获取注册数据
    def post(self,request):
        name1 = request.POST.get("username")
        pwd1 = request.POST.get("pwd")
        mobile1 = request.POST.get("mobile")
        # 如果数据表中存在相同的用户名提示用户名已存在
        # 1.先获取用户表中所有数据  模型类.objects.all()
        users = Users.objects.all()  # 查询的是用户表中所有信息
        # 循环遍历获取到的数据
        for user in users:  # user:代表每条数据
            # name1:代表接收的注册数据
            if name1 == user.name:
                return HttpResponse("用户名已存在")
        try:
            # 将数据存到数据库  模型类.objects.create()
            Users.objects.create(name=name1,pwd=pwd1,mobile=mobile1)
        except Exception as e:
            print(e)
            return HttpResponse("注册失败")
        return HttpResponse("注册成功")

# 想要根据id查询指定的英雄
# 定义英雄的视图
class Hero(View):
    def get(self,request,name):
        # 查询单条数据  模型类.objects.get(条件)
        # hero = Heros.objects.get(id=id)
        try:
            hero = Heros.objects.get(hname=name)
        except Exception as e:
            print(e)
            return render(request,'hero.html',{"msg":"没有该英雄"})
        # 将获取到的数据渲染到页面
        return render(request,'hero.html',{"hero":hero})

10.配置路由

11.

urlpatterns = [
    # 配置注册路由
    path('register/',views.Register.as_view()),
#     配置英雄路由
    path("hero/<str:name>/",views.Hero.as_view()),
    path("hero/<int:id>/", views.Hero.as_view())
]

12.启动项目访问

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>英雄</title>
</head>
<body>
{#if 后条件成立执行下边对应的代码 不成立执行else的代码 #}
    {% if hero %}
        英雄名:{{ hero.hname }}
        攻击力:{{ hero.att }}
    {% else %}
        {{ msg }}
    {% endif %}
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值