diff options
| -rw-r--r-- | examples/permissionsexample/fixtures/initial_data.yaml | 12 | ||||
| -rw-r--r-- | examples/permissionsexample/models.py | 1 | ||||
| -rw-r--r-- | examples/permissionsexample/urls.py | 6 | ||||
| -rw-r--r-- | examples/permissionsexample/views.py | 20 | ||||
| -rw-r--r-- | examples/requirements.txt | 1 | ||||
| -rw-r--r-- | examples/sandbox/views.py | 3 | ||||
| -rw-r--r-- | examples/settings.py | 7 |
7 files changed, 45 insertions, 5 deletions
diff --git a/examples/permissionsexample/fixtures/initial_data.yaml b/examples/permissionsexample/fixtures/initial_data.yaml new file mode 100644 index 00000000..22276ec2 --- /dev/null +++ b/examples/permissionsexample/fixtures/initial_data.yaml @@ -0,0 +1,12 @@ +- fields: + first_name: '' + groups: [] + is_active: true + is_staff: true + is_superuser: true + last_name: '' + password: sha1$b3dff$671b4ab97f2714446da32670d27576614e176758 + user_permissions: [] + username: test + model: auth.user + pk: 2 diff --git a/examples/permissionsexample/models.py b/examples/permissionsexample/models.py new file mode 100644 index 00000000..232085ad --- /dev/null +++ b/examples/permissionsexample/models.py @@ -0,0 +1 @@ +#for fixture loading
\ No newline at end of file diff --git a/examples/permissionsexample/urls.py b/examples/permissionsexample/urls.py index d17f5159..c421c7cc 100644 --- a/examples/permissionsexample/urls.py +++ b/examples/permissionsexample/urls.py @@ -1,6 +1,8 @@ from django.conf.urls.defaults import patterns, url -from permissionsexample.views import ThrottlingExampleView +from permissionsexample.views import PermissionsExampleView, ThrottlingExampleView, LoggedinView urlpatterns = patterns('', - url(r'^$', ThrottlingExampleView.as_view(), name='throttled-resource'), + url(r'^$', PermissionsExampleView.as_view(), name='permissions-example'), + url(r'^throttling$', ThrottlingExampleView.as_view(), name='throttled-resource'), + url(r'^loggedin$', LoggedinView.as_view(), name='loggedin-resource'), ) diff --git a/examples/permissionsexample/views.py b/examples/permissionsexample/views.py index 20e7cba7..ca456191 100644 --- a/examples/permissionsexample/views.py +++ b/examples/permissionsexample/views.py @@ -1,6 +1,16 @@ from djangorestframework.views import View -from djangorestframework.permissions import PerUserThrottling +from djangorestframework.permissions import PerUserThrottling, IsAuthenticated +from django.core.urlresolvers import reverse +class PermissionsExampleView(View): + """ + A container view for permissions examples. + """ + + def get(self, request): + return [{'name': 'Throttling Example', 'url': reverse('throttled-resource')}, + {'name': 'Logged in example', 'url': reverse('loggedin-resource')},] + class ThrottlingExampleView(View): """ @@ -17,4 +27,10 @@ class ThrottlingExampleView(View): """ Handle GET requests. """ - return "Successful response to GET request because throttle is not yet active."
\ No newline at end of file + return "Successful response to GET request because throttle is not yet active." + +class LoggedinView(View): + + permissions = (IsAuthenticated, ) + def get(self, request): + return 'Logged in or not?'
\ No newline at end of file diff --git a/examples/requirements.txt b/examples/requirements.txt index 09cda945..19d37673 100644 --- a/examples/requirements.txt +++ b/examples/requirements.txt @@ -5,4 +5,5 @@ wsgiref==0.1.2 Pygments==1.4 httplib2==0.6.0 Markdown==2.0.3 +Pyyaml diff --git a/examples/sandbox/views.py b/examples/sandbox/views.py index 1e326f43..f8d87a0b 100644 --- a/examples/sandbox/views.py +++ b/examples/sandbox/views.py @@ -22,6 +22,7 @@ class Sandbox(View): 4. A generic object store API. 5. A code highlighting API. 6. A blog posts and comments API. + 7. A basic example using permissions. You can login with **'test', 'test'.** Please feel free to browse, create, edit and delete the resources in these examples.""" @@ -32,5 +33,5 @@ class Sandbox(View): {'name': 'Object store API', 'url': reverse('object-store-root')}, {'name': 'Code highlighting API', 'url': reverse('pygments-root')}, {'name': 'Blog posts API', 'url': reverse('blog-posts-root')}, - {'name': 'Permissions example', 'url': reverse('throttled-resource')} + {'name': 'Permissions example', 'url': reverse('permissions-example')} ] diff --git a/examples/settings.py b/examples/settings.py index 1537c5f8..2eab2cfa 100644 --- a/examples/settings.py +++ b/examples/settings.py @@ -89,6 +89,12 @@ TEMPLATE_DIRS = ( # Don't forget to use absolute paths, not relative paths. ) +# for loading initial data +##SERIALIZATION_MODULES = { + # 'yml': "django.core.serializers.pyyaml" + +#} + INSTALLED_APPS = ( 'django.contrib.auth', @@ -104,6 +110,7 @@ INSTALLED_APPS = ( 'objectstore', 'pygments_api', 'blogpost', + 'permissionsexample', ) import os |
