[后端-前台]增加用户注销功能,这个并没有做成api,感觉这个做成api可能没什么必要...所以干脆写了地址重定向到首页了,测试通过account.tests.py

This commit is contained in:
esp
2015-08-27 22:26:00 +08:00
parent c64bd9d165
commit f8677f4966
3 changed files with 22 additions and 1 deletions

View File

@@ -369,3 +369,18 @@ class AdminRequiredDecoratorTest(TestCase):
self.client.login(username="test", password="test") self.client.login(username="test", password="test")
response = self.client.get("/admin_required_test/cbv/1024/") response = self.client.get("/admin_required_test/cbv/1024/")
self.assertEqual(response.content, "1024") self.assertEqual(response.content, "1024")
class UserLogoutTest(TestCase):
def setUp(self):
self.client = Client()
user = User.objects.create(username="test")
user.admin_type = 1
user.set_password("1")
user.save()
def logout_success(self):
self.client = Client()
self.client.login(username="test", password="1")
response = self.client.get("/logout/")
self.assertEqual(response.status_code, 302)

View File

@@ -1,4 +1,5 @@
# coding=utf-8 # coding=utf-8
from django import http
from django.contrib import auth from django.contrib import auth
from django.shortcuts import render from django.shortcuts import render
from django.db.models import Q from django.db.models import Q
@@ -35,6 +36,10 @@ class UserLoginAPIView(APIView):
return serializer_invalid_response(serializer) return serializer_invalid_response(serializer)
def Logout(request):
auth.logout(request)
return http.HttpResponseRedirect("/")
class UserRegisterAPIView(APIView): class UserRegisterAPIView(APIView):
def post(self, request): def post(self, request):
""" """

View File

@@ -5,7 +5,7 @@ from django.views.generic import TemplateView
from account.views import (UserLoginAPIView, UsernameCheckAPIView, UserRegisterAPIView, from account.views import (UserLoginAPIView, UsernameCheckAPIView, UserRegisterAPIView,
UserChangePasswordAPIView, EmailCheckAPIView, UserChangePasswordAPIView, EmailCheckAPIView,
UserAdminAPIView, UserInfoAPIView) UserAdminAPIView, UserInfoAPIView, Logout)
from announcement.views import AnnouncementAdminAPIView from announcement.views import AnnouncementAdminAPIView
from contest.views import ContestAdminAPIView, ContestProblemAdminAPIView, ContestPasswordVerifyAPIView from contest.views import ContestAdminAPIView, ContestProblemAdminAPIView, ContestPasswordVerifyAPIView
@@ -34,6 +34,7 @@ urlpatterns = [
name="admin_template"), name="admin_template"),
url(r'^login/$', TemplateView.as_view(template_name="oj/account/login.html"), name="user_login_page"), url(r'^login/$', TemplateView.as_view(template_name="oj/account/login.html"), name="user_login_page"),
url(r'^logout/$', Logout, name="user_logout_api"),
url(r'^register/$', TemplateView.as_view(template_name="oj/account/register.html"), url(r'^register/$', TemplateView.as_view(template_name="oj/account/register.html"),
name="user_register_page"), name="user_register_page"),
url(r'^change_password/$', TemplateView.as_view(template_name="oj/account/change_password.html"), url(r'^change_password/$', TemplateView.as_view(template_name="oj/account/change_password.html"),