From fcb0a3b2a66cd14da9af7b537163850009e87d36 Mon Sep 17 00:00:00 2001 From: hohoTT <609029365@qq.com> Date: Sun, 13 Sep 2015 21:58:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=A0=B9=E6=8D=AE=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=99=BB=E5=BD=95=E7=8A=B6=E6=80=81=E7=9A=84=E6=9D=A5?= =?UTF-8?q?=E7=A1=AE=E5=AE=9A=E9=A6=96=E9=A1=B5=E9=A1=B5=E9=9D=A2=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- account/views.py | 13 +++++++++++++ oj/urls.py | 2 +- template/src/oj/index.html | 2 -- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/account/views.py b/account/views.py index 1304ded..4aa326a 100644 --- a/account/views.py +++ b/account/views.py @@ -36,11 +36,24 @@ class UserLoginAPIView(APIView): else: return serializer_invalid_response(serializer) + @login_required def logout(request): auth.logout(request) return http.HttpResponseRedirect("/") + +def page_jump(request): + if not request.user.is_authenticated(): + return render(request, "oj/index.html") + + try: + if request.META['HTTP_REFERER']: + return render(request, "oj/index.html") + except KeyError: + return http.HttpResponseRedirect('/problems/') + + class UserRegisterAPIView(APIView): def post(self, request): """ diff --git a/oj/urls.py b/oj/urls.py index e9cc880..eda20bb 100644 --- a/oj/urls.py +++ b/oj/urls.py @@ -26,7 +26,7 @@ from contest_submission.views import contest_problem_my_submissions_list_page urlpatterns = [ url(r'^install/$', "install.views.install"), - url("^$", TemplateView.as_view(template_name="oj/index.html"), name="index_page"), + url("^$", "account.views.page_jump", name="page_jump_api"), url(r'^docs/', include('rest_framework_swagger.urls')), url(r'^admin/$', TemplateView.as_view(template_name="admin/admin.html"), name="admin_spa_page"), url(r'^admin/contest/$', TemplateView.as_view(template_name="admin/contest/add_contest.html"), diff --git a/template/src/oj/index.html b/template/src/oj/index.html index ee93725..8244f86 100644 --- a/template/src/oj/index.html +++ b/template/src/oj/index.html @@ -116,8 +116,6 @@ loopBottom: true }); }); - -