基于django的登录注册系统

1.效果展示

1.1登录页面

在这里插入图片描述

1.2注册页面

在这里插入图片描述

1.3主页(页面简直不能再简单了)

在这里插入图片描述

2.功能实现

2.1用户密码加盐后加密处理

import hashlib
def hash_code(s,salt='mysite'):
    h = hashlib.sha256()
    s = s + salt
    h.update(s.encode())
    return h.hexdigest()

2.2登录

def login(request):
    if request.session.get('is_login',None):
        return redirect('/index/')
    if request.method == 'POST':
        login_form = form.UserForm(request.POST)
        message = '请检查填写的内容'
        if login_form.is_valid():
            username = login_form.cleaned_data.get('username')
            password = login_form.cleaned_data.get('password')
            try:
                user = models.User.objects.get(name=username)
            except:
                message = '用户不存在'
                return render(request,'login/login.html',locals())

            if not user.has_confirmed:
                message = '用户还未经过邮件确认'
                return render(request,'login/login.html',locals())

            if user.password == hash_code(password):
                request.session['is_login'] = True
                request.session['user_id'] = user.id
                request.session['user_name'] = user.name
                return redirect('/index/')
            else:
                message = '密码不正确'
                return render(request,'login/login.html',locals())
        else:
            return render(request,'login/login.html',locals())
    login_form = form.UserForm(request.POST)
    return render(request,'login/login.html',locals())

2.3注册时发送确认邮件

def send_mail(email,code):
    from django.core.mail import EmailMultiAlternatives
    subject = '来自yzj的注册确认邮件'
    text_content = '''
    感谢注册,这里是yzj\
                    如果你看到这条消息,说明你的邮箱服务器不提供HTML链接功能,请联系管理员!
    '''
    html_content = '''
                        <p>感谢注册<a href="http://{}/confirm/?code={}" target=blank>www.yzj.com</a>,\
                        这里是yzj</p>
                        <p>请点击站点链接完成注册确认!</p>
                        <p>此链接有效期为{}天!</p>
                        '''.format('127.0.0.1:8000', code, settings.CONFIRM_DAYS)
    msg = EmailMultiAlternatives(subject,text_content,settings.EMAIL_HOST_USER,[email])
    msg.attach_alternative(html_content,'text/html')
    msg.send()

# 邮箱配置
# settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'
EMAIL_HOST_USER = 'xxxxxx@qq.com'
EMAIL_HOST_PASSWORD = 'xxxx'
EMAIL_PORT = 25
EMAIL_USE_TLS = True

#确认天数
CONFIRM_DAYS = 7

2.4自动生成图片验证码

from captcha.fields import CaptchaField

captcha = CaptchaField(label='验证码')

3.小结

github源码.
参考文档:刘江的博客教程.

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于django的心理系统是一种基于web的心理咨询平台,采用Django框架开发而成。该系统的目的是为用户提供一个便捷、可靠且安全的线上心理咨询服务,用户可以通过系统进行在线咨询,提出个人心理问题并得到专业心理医生的回复,以帮助用户解决困扰。 该系统结合了心理咨询、在线交流及数据分析等功能,为用户提供全方位的心理咨询服务。用户可以通过系统注册账号,填写个人基本信息和心理问题,并选择自己心仪的心理医生进行咨询。医生会在规定的时间内对用户的问题进行回复,为用户提供有效的咨询建议。同时系统还支持用户之间的交流互动,用户可以加入相应的心理讨论小组,与有相同问题的用户进行交流分享。 作为一种心理系统,数据分析也是其核心功能之一。该系统可以根据用户的心理问题内容经过准确的算法筛选,将用户的心理问题进行分类和归纳,动态记录系统中的咨询数据,以便于心理医生进行更好的咨询服务。 对于心理医生及运营方来说,系统提供一个方便快捷的管理后台,医生可以在该后台管理自己的日程、咨询记录及资料等;而运营方则可以通过后台对系统运营进行数据统计及资金流向管理等。 总之,基于django的心理系统旨在通过互联网平台,为广大用户提供便捷且专业的心理咨询服务,并不断探索更高效、更友好的解决方案,满足用户日益增长的心理需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值