0
点赞
收藏
分享

微信扫一扫

-day4

小沙坨 2022-04-28 阅读 76
python

``python
注册功能
1.将注册信息保存到数据库 
2.判断注册的用户名是否存在如果存在则提示用户名已经存在
3.如果注册成功,重定向到登录页面
登录功能
1.需要获取 用户信息,比较用户名和密码
2.如果正确,重定向到首页,在首页展示 所有的 英雄数据
3.登录失败, 重定向到登录页面
首页功能
1.在首页查询展示所有的英雄数据
2.创建项目, 创建APP
3.创建英雄模型类
   名字     攻击力     防御     生命值      技能        蓝条
4.需要自己设计用户表
```

注册思路:

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

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

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

登录思路:

登录相当于查询数据

1. 创建django项目

2. 创建django应用

3. 配置文件

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

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

5. 迁移

6. 创建超级用户

7. 注册模型类

8. 写视图函数

9. ```python
   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. ```python
    urlpatterns = [
        # 配置注册路由
        path('register/',views.Register.as_view()),
    #     配置英雄路由
        path("hero/<str:name>/",views.Hero.as_view()),
        path("hero/<int:id>/", views.Hero.as_view())
    ]
    ```

12. 启动项目访问

```html
<!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>

### 步骤

​    编写模型类、迁移

在数据库中,生成数据表---相当于是mysql中创建表

create table 表名(

字段1 类型 约束,

字段2 类型 约束

)    

1.mysql中每条字段之间要用逗号隔开,但是django中不能出现逗号,出现即报错

django中数据类型

字符串字段:CharField

整数字段:IntegerField

小数字段:

​        金钱有关:DecimalField

​        一般小数:FloatField

时间字段:

​    日期:DateField

​    时间:TimeField

​    日期时间:DateTimeField

字段属性:

​        字段通用属性:所有字段都可以用的

​        verbose_name:字段起别名,在admin管理后台中能看见效果

​        字段特殊属性:特定字段可以使用

​        max_length  

元选项:

​    元类一定属于模型类中的一部分,不能单独使用

当表已生成,如果需要重新修改模型类,此时要删除数据库,删除迁移文件重新进行迁移

创建商品模型类

name price num hire_date

先进入测试环境  python manage.py shell

导包:需要导入使用的模型类

增:

```python 
1.直接利用模型类创建对象,然后保存
    对象名 = 类名()
    goods1 = Goods(name="沙糖桔",price=3.98,num=200)
    # 保存对象  只有调用save方法才能真正将数据保存到数据库中
    goods1.save()
2.利用模型类管理器添加数据
    模型类.objects.create()
```


 

举报

相关推荐

Day4

day4 QT

Qt day4

QT DAY4

hadoop——day4()

ARM day4 作业

Day4:录入、if、switch

QT作业day4

0 条评论