这篇文章将为大家详细讲解有关利用django框架怎么实现一个用户注册、登录功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联是专业的石拐网站建设公司,石拐接单;提供网站设计、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行石拐网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!1 用户注册:
from django.contrib import auth from django.contrib.auth.models import User from django.views.decorators.csrf import csrf_exempt from django.http import HttpResponseRedirect # 用户注册 @csrf_exempt def register(request): errors = [] account = None password = None password2 = None email = None CompareFlag = False if request.method == 'POST': if not request.POST.get('account'): errors.append('用户名不能为空') else: account = request.POST.get('account') if not request.POST.get('password'): errors.append('密码不能为空') else: password = request.POST.get('password') if not request.POST.get('password2'): errors.append('确认密码不能为空') else: password2 = request.POST.get('password2') if not request.POST.get('email'): errors.append('邮箱不能为空') else: email = request.POST.get('email') if password is not None: if password == password2: CompareFlag = True else: errors.append('两次输入密码不一致') if account is not None and password is not None and password2 is not None and email is not None and CompareFlag : user = User.objects.create_user(account,email,password) user.save() userlogin = auth.authenticate(username = account,password = password) auth.login(request,userlogin) return HttpResponseRedirect('/blog') return render(request,'blog/register.html', {'errors': errors})
2 用户登录:
@csrf_exempt def my_login(request): errors =[] account = None password = None if request.method == "POST": if not request.POST.get('account'): errors.append('用户名不能为空') else: account = request.POST.get('account') if not request.POST.get('password'): errors = request.POST.get('密码不能为空') else: password = request.POST.get('password') if account is not None and password is not None: user = auth.authenticate(username=account,password=password) if user is not None: if user.is_active: auth.login(request,user) return HttpResponseRedirect('/blog') else: errors.append('用户名错误') else: errors.append('用户名或密码错误') return render(request,'blog/login.html', {'errors': errors})
3 用户退出:
def my_logout(request): auth.logout(request) return HttpResponseRedirect('/blog')
URL:
urlpatterns = [ url(r'^$', views.index, name='index'), url(r'^p/(?P[0-9]+)/$', views.detail,name='detail'), url(r'^register/$',views.register, name='register'), url(r'^login/$',views.my_login, name='my_login'), url(r'^logout/$',views.my_logout, name='my_logout'), ]
注册 HTML:
Title {% if errors %}
{{error}}
{% endfor %}登录HTML:
Title 登录 {% if errors %}
{{error}}
{% endfor %}关于利用django框架怎么实现一个用户注册、登录功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。