diff --git a/DjangoBlog/urls.py b/DjangoBlog/urls.py index e8f2aa5..7e90ff1 100644 --- a/DjangoBlog/urls.py +++ b/DjangoBlog/urls.py @@ -34,7 +34,7 @@ sitemaps = { handler404 = 'blog.views.page_not_found_view' handler500 = 'blog.views.server_error_view' - +handle403 = 'blog.views.permission_denied_view' urlpatterns = [ url(r'^admin/', admin_site.urls), url(r'', include('blog.urls', namespace='blog')), diff --git a/blog/tests.py b/blog/tests.py index 8bfee68..bb33ac5 100644 --- a/blog/tests.py +++ b/blog/tests.py @@ -87,6 +87,13 @@ class ArticleTest(TestCase): s = load_articletags(article) self.assertIsNotNone(s) + rsp = self.client.get('/refresh') + self.assertEqual(rsp.status_code, 302) + + self.client.login(username='liangliangyy', password='liangliangyy') + rsp = self.client.get('/refresh') + self.assertEqual(rsp.status_code, 200) + response = self.client.get(reverse('blog:archives')) self.assertEqual(response.status_code, 200) @@ -107,8 +114,7 @@ class ArticleTest(TestCase): self.client.login(username='liangliangyy', password='liangliangyy') from DjangoBlog.spider_notify import SpiderNotify SpiderNotify.baidu_notify([article.get_full_url()]) - rsp = self.client.get('/refresh/') - self.assertEqual(rsp.status_code, 200) + from blog.templatetags.blog_tags import gravatar_url, gravatar u = gravatar_url('liangliangyy@gmail.com') u = gravatar('liangliangyy@gmail.com') @@ -132,6 +138,10 @@ class ArticleTest(TestCase): user = BlogUser.objects.get_or_create(email="liangliangyy12@gmail.com", username="liangliangyy")[0] user.set_password("liangliangyy") user.save() + self.client.login(username='liangliangyy', password='liangliangyy') + + rsp = self.client.get('/refresh') + self.assertEqual(rsp.status_code, 403) response = self.client.get('/feed/') self.assertEqual(response.status_code, 200) @@ -159,5 +169,5 @@ class ArticleTest(TestCase): """ def test_errorpage(self): - self.client.get('/eee') - self.client.get('/refresh_memcache') + rsp = self.client.get('/eee') + self.assertEqual(rsp.status_code, 404) diff --git a/blog/views.py b/blog/views.py index ff07c27..e0a635a 100644 --- a/blog/views.py +++ b/blog/views.py @@ -270,23 +270,21 @@ def refresh_memcache(request): return HttpResponse(e) -def page_not_found_view(request, exception): +def page_not_found_view(request, exception, template_name='blog/error_page.html'): if exception: logger.error(exception) url = request.get_full_path() - return render(request, 'blog/error_page.html', - {'message': '哎呀,您访问的地址 ' + url + ' 是一个未知的地方。请点击首页看看别的?', 'statuscode': '404'}) + return render(request, template_name, + {'message': '哎呀,您访问的地址 ' + url + ' 是一个未知的地方。请点击首页看看别的?', 'statuscode': '404'}, status=404) -def server_error_view(request, exception): - if exception: - logger.error(exception) - return render(request, 'blog/error_page.html', +def server_error_view(request, template_name='blog/error_page.html'): + return render(request, template_name, {'message': '哎呀,出错了,我已经收集到了错误信息,之后会抓紧抢修,请点击首页看看别的?', 'statuscode': '500'}) -def permission_denied_view(request, exception): +def permission_denied_view(request, exception, template_name='blog/error_page.html'): if exception: logger.error(exception) - return render(request, 'blog/error_page.html', + return render(request, template_name, {'message': '哎呀,您没有权限访问此页面,请点击首页看看别的?', 'statuscode': '403'}) diff --git a/requirements.txt b/requirements.txt index f544f63..a4bc287 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,8 +2,8 @@ appdirs==1.4.3 bottle==0.12.13 certifi==2018.1.18 chardet==3.0.4 -coverage==4.4.2 -Django==2.0.1 +coverage==4.5 +Django==2.0.2 django-appconf==1.0.2 django-autoslug==1.9.3 django-compressor==2.2 diff --git a/travis_test/requirements.txt b/travis_test/requirements.txt index 3fdadc1..cd807bc 100644 --- a/travis_test/requirements.txt +++ b/travis_test/requirements.txt @@ -2,8 +2,8 @@ appdirs==1.4.3 bottle==0.12.13 certifi==2018.1.18 chardet==3.0.4 -coverage==4.4.2 -Django==2.0.1 +coverage==4.5 +Django==2.0.2 django-appconf==1.0.2 django-autoslug==1.9.3 django-compressor==2.2