django实现自带登录注册功能

1.通过django-admin startproject xxx 建立一个django工程
2.进入到和manage.py同级目录下,通过Python manage.py startapp zzz项目
3.在zzz文件下的urls中设置将要访问的路由
url(r'^login/',login),
url(r'^register/',regist),
注意引用views文件 from views import *
4.接口的编写
这是注册接口

def regist(req):
    if req.method == 'POST':
        uf = UserForm(req.POST)
        print("hgoahoahoasd")
        if uf.is_valid():
            #获得表单数据
            username = uf.cleaned_data['username']
            password = uf.cleaned_data['password']
            # createdate=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
        #添加到数据库
            yw_new_users.objects.create_user(username= username,password=password)=
        return render(req,"login.html")
    else:
        uf = UserForm()
    return render(req,"regist.html")

这是登录接口

def login(req):
    if req.method == 'POST':
        # uf = UserForm(req.POST)
        username = req.POST.get("UserName")
        password = req.POST.get("UserPswd")
        user = auth.authenticate(username = username,password = password)
        print(user)
        print("7894565")
        if user:=
            logss(username,password)=
            print(type(user))
            # for key in user:
            #     user = req.POST.get(key)[0]
            auth_login(req,user)
            return HttpResponse(json.dumps({"status":"ok","response":username}),content_type = "application/json")
        else:
            #比较失败,还在login
            return render(req,"login.html")
    return render(req,"login.html")

5.models文件的创建

from __future__ import unicode_literals
from django.db import models
from datetime import datetime
from django.contrib.auth.models import AbstractUser


# Create your models here.
# 后台用户信息表
class yw_new_users(AbstractUser):
    Userid = models.AutoField(u'用户原有id',primary_key=True)     
    # UserName = models.CharField(u'用户名字',max_length=20,default="")     
    UserTrueName = models.CharField(u'用户真实姓名',max_length=20,null=True)  
    UserRoles = models.CharField(u'用户角色',max_length=15,null=True)     
    UserEmail = models.CharField(u'用户邮箱',max_length=100,null=True)
    UserPhone = models.CharField(u'用户电话',max_length=15,null=True)    
    User_Status = models.CharField(u'用户状态',max_length=15,null=True)           
    LastMarks = models.CharField(u'用户痕迹',max_length=100,null=True)
    HashCode = models.CharField(u'散列表',max_length=50,null=True)  
    enable_flags = models.CharField(u'有效性',max_length=50,null=True)
    role_code = models.CharField(u'用户角色',max_length=50,null=True)
    createDate = models.DateField(u'创建日期',null=True)                   
    updateDate = models.DateField(u'更新日期',null=True)                    
    createUser = models.CharField(u'创建用户',max_length=50,null=True)                 
    updateUser = models.CharField(u'更新用户',max_length=50,null=True)      

注意在setting.py 文件中需要设置AUTH_USER_MODEL = "zzz.yw_new_users"

6.通过Python manage.py makemigrations生成迁移文件,然后 Python manage.py migrate生成数据库
7.login页面展示<h1>登录页面:</h1>
<form method = 'post' enctype="multipart/form-data" action="http://localhost:8000/login/">
<input type="text" name="username" id="">
<input type="text" name="password" id="">
<input type="submit" value = "ok" />
</form>

8.注册界面展示<h1>注册页面:</h1>
<form method = 'post' enctype="multipart/form-data" action="http://localhost:8000/login/register/">
<input type="text" name="username" id="">
<input type="text" name="password" id="">
<input type="submit" value = "ok" />
</form>

### 回答1: Django是一种使用Python语言编写的高级Web开发框架,它提供了许多功能和工具来简化Web应用程序的开发过程。要实现Django注册登录功能,需要进行以下步骤: 1. 创建Django项目:首先通过命令行工具创建一个新的Django项目。 2. 创建用户模型:使用Django自带用户模型或创建自定义的用户模型来存储用户注册和登录所需的信息,如用户名、密码等。 3. 创建视图函数:定义视图函数来处理用户的注册和登录请求。注册视图函数处理用户的注册请求,验证输入的信息并将用户保存到数据库中。登录视图函数将验证用户提供的登录信息,并根据结果响应用户的登录请求。 4. 实现模板:创建HTML模板文件来呈现注册和登录表单,并将数据传递给视图函数进行处理。 5. 创建URL映射:设置URL映射,使用户可以通过特定的URL路径访问注册和登录页面,并将请求发送到相应的视图函数进行处理。 6. 实现登录状态管理:使用Django提供的登录状态管理工具来管理用户的登录状态,如登录后的跳转、登录后的用户信息展示等。 7. 添加安全机制:使用Django提供的安全机制,如密码加密、安全令牌等,保障用户的账号安全。 8. 测试功能:编写测试用例对注册登录功能进行测试,确保功能的正常运行。 以上是实现Django注册登录功能的一般步骤,具体实现过程还需要根据项目的需求和功能扩展进行适配。通过Django提供的丰富功能和简化开发的特性,开发者可以快速实现强大的注册登录功能。 ### 回答2: Django是一个流行的Python Web框架,提供了强大的认证和授权功能,可以轻松实现用户注册和登录功能。 首先,我们需要在Django项目中创建一个用户模型,可以使用Django内置的User模型,或者自定义一个用户模型,添加必要的字段,如用户名、密码、邮箱等。 接下来,我们可以使用Django提供的内置视图函数和表单,来实现用户注册和登录功能。对于注册功能,我们可以使用Django内置的CreateView视图类,使用UserCreationForm表单来处理用户注册请求。这个表单包含了用户名、密码、邮箱等字段,并提供了数据验证和保存用户功能。 对于登录功能,我们可以使用Django内置的LoginView视图类,使用AuthenticationForm表单来处理用户登录请求。这个表单包含了用户名和密码字段,并提供了用户认证和登录的功能。 在视图中,我们可以通过重写相应的函数来自定义注册和登录成功后的跳转页面,以及注册和登录失败后的错误提示。 在模板中,我们可以使用Django提供的模板标签和模板语法,来渲染注册和登录的表单,并显示相应的错误信息。 此外,为了提高用户的安全性,我们可以使用Django提供的密码散列算法和密码哈希函数,对用户的密码进行加密存储,以防止密码泄露。 总结而言,使用Django实现注册登录功能非常简单,我们只需要创建用户模型、使用内置视图函数和表单,并通过自定义视图和模板来实现相应的功能。同时,Django还提供了丰富的认证和授权功能,可以帮助我们更好地管理用户的访问权限和用户会话。 ### 回答3: Django 是一款流行的 Python Web 框架,提供了强大的用户认证和授权功能,可以轻松实现注册和登录功能。 要实现 Django 的注册和登录功能,通常需要进行以下几个步骤: 1. 创建用户模型:首先需要创建用户模型,可以使用 Django 自带的 `User` 模型,或者按照自己的需求自定义一个用户模型。 2. 创建注册页面:通过创建注册页面,用户可以输入用户名、密码、邮箱等信息,然后将这些信息传递给后台进行处理。 3. 后台处理注册逻辑:在后台,可以使用 Django 提供的 `Form` 类来验证用户提交的表单数据,确保数据的合法性。然后,可以创建一个新的用户实例,并将用户的输入数据保存到数据库中。 4. 创建登录页面:登录页面允许用户输入用户名和密码,并将这些信息传递给后台进行验证。 5. 后台处理登录逻辑:后台可以利用 Django 提供的 `authenticate` 函数来验证用户提交的登录信息。如果验证成功,可以使用 `login` 函数将用户认证信息存储到 session 中,以便后续的登录状态保持和权限控制。 以上是实现 Django 注册和登录功能的基本步骤。除了基本的注册和登录功能,我们还可以使用 Django 提供的装饰器和中间件来对用户进行权限控制和用户认证身份的判断。例如,可以使用 `@login_required` 装饰器来限制页面的访问必须登录后才能访问。 总之,Django 提供了强大的用户认证和授权功能,可以帮助我们轻松实现注册和登录功能,并且提供了灵活的配置选项和扩展功能,以适应各种不同的需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值