9
9
from django .contrib .auth .decorators import login_required
10
10
from django .core .exceptions import ObjectDoesNotExist
11
11
from django .core .urlresolvers import reverse
12
- from django .http import (
13
- HttpResponse , HttpResponseBadRequest , HttpResponseRedirect )
12
+ from django .http import HttpResponseRedirect , JsonResponse
14
13
from django .shortcuts import get_object_or_404 , render
15
14
from django .utils .decorators import method_decorator
16
15
from django .views .decorators .csrf import csrf_exempt
@@ -32,9 +31,8 @@ def dispatch(self, request, *args, **kwargs):
32
31
self ).dispatch (request , * args , ** kwargs )
33
32
34
33
def get (self , request ):
35
- return HttpResponse (
36
- content = json .dumps ({'error' : 'You must POST!' }),
37
- content_type = 'application/json' ,
34
+ return JsonResponse (
35
+ {'error' : 'You must POST!' },
38
36
status = 405 ,
39
37
)
40
38
@@ -52,27 +50,17 @@ def post(self, request, *args, **kwargs):
52
50
version = post_json ['version' ]
53
51
page = post_json ['page' ]
54
52
except KeyError :
55
- return HttpResponseBadRequest (
56
- content = json .dumps ({'error' : 'Invalid parameters' }),
57
- )
53
+ return JsonResponse ({'error' : 'Invalid parameters' }, status = 400 )
58
54
try :
59
55
Bookmark .objects .get (
60
56
project__slug = project ,
61
57
version__slug = version ,
62
58
page = page ,
63
59
)
64
60
except ObjectDoesNotExist :
65
- return HttpResponse (
66
- content = json .dumps ({'exists' : False }),
67
- status = 404 ,
68
- content_type = 'application/json' ,
69
- )
61
+ return JsonResponse ({'exists' : False }, status = 404 )
70
62
71
- return HttpResponse (
72
- content = json .dumps ({'exists' : True }),
73
- status = 200 ,
74
- content_type = 'application/json' ,
75
- )
63
+ return JsonResponse ({'exists' : True })
76
64
77
65
78
66
class BookmarkListView (ListView ):
@@ -99,11 +87,7 @@ def dispatch(self, request, *args, **kwargs):
99
87
return super (BookmarkAddView , self ).dispatch (request , * args , ** kwargs )
100
88
101
89
def get (self , request ):
102
- return HttpResponse (
103
- content = json .dumps ({'error' : 'You must POST!' }),
104
- content_type = 'application/json' ,
105
- status = 405 ,
106
- )
90
+ return JsonResponse ({'error' : 'You must POST!' }, status = 405 )
107
91
108
92
def post (self , request , * args , ** kwargs ):
109
93
"""
@@ -118,17 +102,15 @@ def post(self, request, *args, **kwargs):
118
102
page_slug = post_json ['page' ]
119
103
url = post_json ['url' ]
120
104
except KeyError :
121
- return HttpResponseBadRequest (
122
- content = json .dumps ({'error' : 'Invalid parameters' }),
123
- )
105
+ return JsonResponse ({'error' : 'Invalid parameters' }, status = 400 )
124
106
125
107
try :
126
108
project = Project .objects .get (slug = project_slug )
127
109
version = project .versions .get (slug = version_slug )
128
110
except ObjectDoesNotExist :
129
- return HttpResponseBadRequest (
130
- content = json . dumps (
131
- { 'error' : 'Project or Version does not exist' }) ,
111
+ return JsonResponse (
112
+ { 'error' : 'Project or Version does not exist' },
113
+ status = 400 ,
132
114
)
133
115
134
116
Bookmark .objects .get_or_create (
@@ -138,11 +120,7 @@ def post(self, request, *args, **kwargs):
138
120
version = version ,
139
121
page = page_slug ,
140
122
)
141
- return HttpResponse (
142
- json .dumps ({'added' : True }),
143
- status = 201 ,
144
- content_type = 'application/json' ,
145
- )
123
+ return JsonResponse ({'added' : True }, status = 201 )
146
124
147
125
148
126
class BookmarkRemoveView (View ):
@@ -179,9 +157,7 @@ def post(self, request, *args, **kwargs):
179
157
url = post_json ['url' ]
180
158
page = post_json ['page' ]
181
159
except KeyError :
182
- return HttpResponseBadRequest (
183
- json .dumps ({'error' : 'Invalid parameters' }),
184
- )
160
+ return JsonResponse ({'error' : 'Invalid parameters' }, status = 400 )
185
161
186
162
bookmark = get_object_or_404 (
187
163
Bookmark ,
@@ -193,8 +169,4 @@ def post(self, request, *args, **kwargs):
193
169
)
194
170
bookmark .delete ()
195
171
196
- return HttpResponse (
197
- json .dumps ({'removed' : True }),
198
- status = 200 ,
199
- content_type = 'application/json' ,
200
- )
172
+ return JsonResponse ({'removed' : True })
0 commit comments