Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
4c438f9f
Commit
4c438f9f
authored
Jan 11, 2012
by
Tom Christie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Some minor tidy up
parent
b522cc8e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
25 deletions
+21
-25
djangorestframework/views.py
+21
-25
No files found.
djangorestframework/views.py
View file @
4c438f9f
...
...
@@ -59,7 +59,6 @@ class View(ResourceMixin, RequestMixin, ResponseMixin, AuthMixin, DjangoView):
"""
permissions
=
(
permissions
.
FullAnonAccess
,
)
@classmethod
def
as_view
(
cls
,
**
initkwargs
):
"""
...
...
@@ -71,7 +70,6 @@ class View(ResourceMixin, RequestMixin, ResponseMixin, AuthMixin, DjangoView):
view
.
cls_instance
=
cls
(
**
initkwargs
)
return
view
@property
def
allowed_methods
(
self
):
"""
...
...
@@ -79,7 +77,6 @@ class View(ResourceMixin, RequestMixin, ResponseMixin, AuthMixin, DjangoView):
"""
return
[
method
.
upper
()
for
method
in
self
.
http_method_names
if
hasattr
(
self
,
method
)]
def
http_method_not_allowed
(
self
,
request
,
*
args
,
**
kwargs
):
"""
Return an HTTP 405 error if an operation is called which does not have a handler method.
...
...
@@ -87,15 +84,34 @@ class View(ResourceMixin, RequestMixin, ResponseMixin, AuthMixin, DjangoView):
raise
ErrorResponse
(
status
.
HTTP_405_METHOD_NOT_ALLOWED
,
{
'detail'
:
'Method
\'
%
s
\'
not allowed on this resource.'
%
self
.
method
})
def
initial
(
self
,
request
,
*
args
,
**
kargs
):
"""
Hook for any code that needs to run prior to anything else.
Required if you want to do things like set `request.upload_handlers` before
the authentication and dispatch handling is run.
"""
pass
# Calls to 'reverse' will not be fully qualified unless we set the
# scheme/host/port here.
self
.
orig_prefix
=
get_script_prefix
()
if
not
(
self
.
orig_prefix
.
startswith
(
'http:'
)
or
self
.
orig_prefix
.
startswith
(
'https:'
)):
prefix
=
'
%
s://
%
s'
%
(
request
.
is_secure
()
and
'https'
or
'http'
,
request
.
get_host
())
set_script_prefix
(
prefix
+
self
.
orig_prefix
)
def
final
(
self
,
request
,
response
,
*
args
,
**
kargs
):
"""
Hook for any code that needs to run after everything else in the view.
"""
# Restore script_prefix.
set_script_prefix
(
self
.
orig_prefix
)
# Always add these headers.
response
.
headers
[
'Allow'
]
=
', '
.
join
(
self
.
allowed_methods
)
# sample to allow caching using Vary http header
response
.
headers
[
'Vary'
]
=
'Authenticate, Accept'
# merge with headers possibly set at some point in the view
response
.
headers
.
update
(
self
.
headers
)
return
self
.
render
(
response
)
def
add_header
(
self
,
field
,
value
):
"""
...
...
@@ -113,12 +129,6 @@ class View(ResourceMixin, RequestMixin, ResponseMixin, AuthMixin, DjangoView):
self
.
kwargs
=
kwargs
self
.
headers
=
{}
# Calls to 'reverse' will not be fully qualified unless we set the scheme/host/port here.
orig_prefix
=
get_script_prefix
()
if
not
(
orig_prefix
.
startswith
(
'http:'
)
or
orig_prefix
.
startswith
(
'https:'
)):
prefix
=
'
%
s://
%
s'
%
(
request
.
is_secure
()
and
'https'
or
'http'
,
request
.
get_host
())
set_script_prefix
(
prefix
+
orig_prefix
)
try
:
self
.
initial
(
request
,
*
args
,
**
kwargs
)
...
...
@@ -154,7 +164,6 @@ class View(ResourceMixin, RequestMixin, ResponseMixin, AuthMixin, DjangoView):
except
ErrorResponse
,
exc
:
response
=
exc
.
response
set_script_prefix
(
orig_prefix
)
return
self
.
final
(
request
,
response
,
*
args
,
**
kwargs
)
def
options
(
self
,
request
,
*
args
,
**
kwargs
):
...
...
@@ -172,19 +181,6 @@ class View(ResourceMixin, RequestMixin, ResponseMixin, AuthMixin, DjangoView):
response_obj
[
'fields'
]
=
field_name_types
return
response_obj
def
final
(
self
,
request
,
response
,
*
args
,
**
kargs
):
"""
Hook for any code that needs to run after everything else in the view.
"""
# Always add these headers.
response
.
headers
[
'Allow'
]
=
', '
.
join
(
self
.
allowed_methods
)
# sample to allow caching using Vary http header
response
.
headers
[
'Vary'
]
=
'Authenticate, Accept'
# merge with headers possibly set at some point in the view
response
.
headers
.
update
(
self
.
headers
)
return
self
.
render
(
response
)
class
ModelView
(
View
):
"""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment