菜鸟Django----注册


一、注册的思维

1.创建数据库保存注册的信息,比如姓名、学号、年龄、密码…。
2.通过POST方法获取数据库信息。
3.保存数据到数据库中。

二、注册实例

1.models中填写数据信息

代码如下(示例):

class User_Model(models.Model):
    user=models.CharField(max_length=128,verbose_name='用户名',null=False,blank=False)
    img = models.CharField(max_length=255, verbose_name='头像')
    age = models.IntegerField(null=False,blank=False)
    password= models.CharField(max_length=128, verbose_name='密码',null=False,blank=False)

2.同步数据库并写入数据库

Teaminal下使用命令python manage.py makemigrations同步数据库,python manage.py migrate 写入数据库

3.views.py文件中导入数据库

from app01.models import User_Model

4.views.py文件函数运行

class Register_View(View):
    def get(self,request):
        return render(request,'register.html',locals())
    def post(self,request):
        error_msg=''
        user = request.POST.get('user')
        age=request.POST.get('age')
        img=request.FILES.get('img')
        pwd1 = request.POST.get('password1')
        pwd2 = request.POST.get('password2')
        if user=='' or age=='' or pwd1=='':
            error_msg='用户信息不能为空'
            return render(request,'login.html',locals())
        is_user = User_Model.objects.filter(user=user).first()
        if is_user:
            error_msg = '用户已存在'
            return render(request, 'register.html', locals())
        if pwd1 != pwd2:
            msg = '密码不一致'
            return render(request, 'register.html', locals())
        img_path=os.path.join(STATICFILES_DIRS[0],img.name)
        with open(img_path,'wb') as f:
            for i in img.chunks():
                f.write(i)
            f.close()
        img_url='/static/'+img.name
        User_Model.objects.create(user=user,age=age,password=pwd1,img=img_url).save()
        msg_200='注册成功'
        return redirect('/app01/showuser/',locals())

View报错,应导入View
from django.views import View


5.创建对应的HTML文件

templates中 创建register.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div style="text-align: center">
        <h3>注册</h3>
        <form action="" method="post" enctype="multipart/form-data">
            账号:<input type="text" name="user">
            头像:<input type="file" name="img" width="100px" height="100px">
            年龄:<input type="text" name="age">
            密码:<input type="password" name="password1">
            确认密码:<input type="password" name="password2">
            <input type="submit" value="注册">
        </form>
        {% if error_msg %}
            {{ error_msg }}
        {% endif %}
        {% if msg_200 %}
            {{ msg_200 }}
        {% endif %}
    </div>
</body>
</html>

6.配置路由

from app01.views import  Register_View

urlpatterns = [
   path('register/',Register_View.as_view()),
 
]

6.运行

Terminal使用命令 python manage.py runserver,登入127.0.0.1:8000

在这里插入图片描述

在这里插入图片描述

想进入127.0.0.1:8000/admin/首先要创建一个超级用户
python manage.py createsuper
记住自己填写的用户名和密码,邮件可以不用填

还需在子项目中admin.py文件中填写

from app01.models import User_Model

admin.site.register(User_Model)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值