django 사용자 등록, 로그인, 종료 실현
5800 단어 django
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 %}
{% for error in errors %}
{{error}}
{% endfor %}
{% endif %}
{% csrf_token %}
로그인 HTML:
Title
{% if errors %}
{% for error in errors %}
{{error}}
{% endfor %}
{% endif %}
{% csrf_token %}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.