本文整理汇总了Python中rest_framework_nested.routers.NestedSimpleRouter类的典型用法代码示例。如果您正苦于以下问题:Python NestedSimpleRouter类的具体用法?Python NestedSimpleRouter怎么用?Python NestedSimpleRouter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了NestedSimpleRouter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setUp
def setUp(self):
self.router = SimpleRouter()
self.router.register(r'a', AViewSet)
self.a_router = NestedSimpleRouter(self.router, r'a', lookup='a')
self.a_router.register(r'b', BViewSet)
self.b_router = NestedSimpleRouter(self.a_router, r'b', lookup='b')
self.b_router.register(r'c', CViewSet)
示例2: TestNestedSimpleRouter
class TestNestedSimpleRouter(TestCase):
def setUp(self):
self.router = SimpleRouter()
self.router.register(r'a', AViewSet)
self.a_router = NestedSimpleRouter(self.router, r'a', lookup='a')
self.a_router.register(r'b', BViewSet)
self.b_router = NestedSimpleRouter(self.a_router, r'b', lookup='b')
self.b_router.register(r'c', CViewSet)
def test_recursive_nested_simple_routers(self):
self.assertFalse(hasattr(self.router, 'parent_regex'))
urls = self.router.urls
self.assertEquals(len(urls), 2)
self.assertEquals(urls[0].regex.pattern, u'^a/$')
self.assertEquals(urls[1].regex.pattern, u'^a/(?P<pk>[0-9a-f]{32})/$')
self.assertEqual(self.a_router.parent_regex, u'a/(?P<a_pk>[0-9a-f]{32})/')
urls = self.a_router.urls
self.assertEquals(len(urls), 2)
self.assertEquals(urls[0].regex.pattern, u'^a/(?P<a_pk>[0-9a-f]{32})/b/$')
self.assertEquals(urls[1].regex.pattern, u'^a/(?P<a_pk>[0-9a-f]{32})/b/(?P<pk>[^/.]+)/$')
self.assertEqual(self.b_router.parent_regex, u'a/(?P<a_pk>[0-9a-f]{32})/b/(?P<b_pk>[^/.]+)/')
urls = self.b_router.urls
self.assertEquals(len(urls), 2)
self.assertEquals(urls[0].regex.pattern, u'^a/(?P<a_pk>[0-9a-f]{32})/b/(?P<b_pk>[^/.]+)/c/$')
self.assertEquals(urls[1].regex.pattern, u'^a/(?P<a_pk>[0-9a-f]{32})/b/(?P<b_pk>[^/.]+)/c/(?P<pk>[^/.]+)/$')
示例3: test_explicit_no_trailing_slash
def test_explicit_no_trailing_slash(self):
router = SimpleRouter(trailing_slash=True)
router.register('a', AViewSet)
a_router = NestedSimpleRouter(router, 'a', lookup='a', trailing_slash=False)
a_router.register('b', BViewSet)
self._assertDoesNotHaveTrailingSlash(a_router)
示例4: TestNestedSimpleRouter
class TestNestedSimpleRouter(TestCase):
def setUp(self):
self.router = SimpleRouter()
self.router.register(r'detail', DetailRouteViewSet)
self.detail_router = NestedSimpleRouter(
self.router,
r'detail',
lookup='detail'
)
self.detail_router.register(r'list', ListRouteViewSet)
self.list_router = NestedSimpleRouter(
self.detail_router,
r'list',
lookup='list'
)
def test_dynamic_routes(self):
self.assertFalse(hasattr(self.router, 'parent_regex'))
urls = map_by_name(self.router.urls)
self.assertEquals(
get_regex_pattern(urls['basicmodel-list']), u'^detail/$'
)
self.assertEquals(
get_regex_pattern(urls['basicmodel-detail']),
u'^detail/(?P<pk>[^/.]+)/$'
)
self.assertEquals(
get_regex_pattern(urls['basicmodel-set-password']),
u'^detail/(?P<pk>[^/.]+)/set_password/$'
)
def test_nested_parent(self):
self.assertEqual(
self.detail_router.parent_regex,
u'detail/(?P<detail_pk>[^/.]+)/'
)
urls = map_by_name(self.detail_router.urls)
self.assertEquals(
get_regex_pattern(urls['basicmodel-list']),
u'^detail/(?P<detail_pk>[^/.]+)/list/$'
)
self.assertEquals(
get_regex_pattern(urls['basicmodel-recent-users']),
u'^detail/(?P<detail_pk>[^/.]+)/list/recent_users/$'
)
self.assertEquals(
get_regex_pattern(urls['basicmodel-detail']),
u'^detail/(?P<detail_pk>[^/.]+)/list/(?P<pk>[^/.]+)/$'
)
def test_nested_child(self):
self.assertEqual(
self.list_router.parent_regex,
u'detail/(?P<detail_pk>[^/.]+)/list/(?P<list_pk>[^/.]+)/'
)
示例5: TestBadLookupValue
class TestBadLookupValue(TestCase):
def setUp(self):
self.router = SimpleRouter()
self.router.register(r'parents', AViewSet, base_name='ui-parent_1')
def test_bad_lookup(self):
with self.assertRaises(ValueError):
self.a_router = NestedSimpleRouter(self.router, r'parents', lookup='ui-parent_2')
self.a_router.register(r'child', BViewSet, base_name='ui-parent-child')
示例6: test_inherits_trailing_slash
def test_inherits_trailing_slash(self):
"""
Test whether the trailing_slash=False value is inherited when it
is unspecified on the nested router.
"""
router = SimpleRouter(trailing_slash=True)
router.register('a', AViewSet)
a_router = NestedSimpleRouter(router, 'a', lookup='a')
a_router.register('b', BViewSet)
self._assertHasTrailingSlash(a_router)
示例7: test_explicit_trailing_slash
def test_explicit_trailing_slash(self):
"""
Test whether the trailing_slash=False value is properly overridden when setting
trailing_slash=True on the nested router.
"""
router = SimpleRouter(trailing_slash=False)
router.register('a', AViewSet)
a_router = NestedSimpleRouter(router, 'a', lookup='a', trailing_slash=True)
a_router.register('b', BViewSet)
self._assertHasTrailingSlash(a_router)
示例8: TestEmptyPrefix
class TestEmptyPrefix(TestCase):
def setUp(self):
self.router = SimpleRouter()
self.router.register(r'', AViewSet)
self.a_router = NestedSimpleRouter(self.router, r'', lookup='a')
self.a_router.register(r'b', BViewSet)
def test_empty_prefix(self):
urls = self.router.urls
urls = self.a_router.urls
self.assertEquals(len(urls), 2)
self.assertEquals(get_regex_pattern(urls[0]), u'^(?P<a_pk>[0-9a-f]{32})/b/$')
self.assertEquals(get_regex_pattern(urls[1]), u'^(?P<a_pk>[0-9a-f]{32})/b/(?P<pk>[^/.]+)/$')
示例9: test_inherits_nonstandard_trailing_slash
def test_inherits_nonstandard_trailing_slash(self):
"""
Test whether the trailing_slash attribute, when set with a custom value,
is inherited by the nested routed.
"""
router = SimpleRouter()
router.trailing_slash = '/?'
router.register('a', AViewSet)
a_router = NestedSimpleRouter(router, 'a', lookup='a')
a_router.register('b', BViewSet)
self.assertEqual(a_router.trailing_slash, u'/?', "router does not have trailing slash when it should")
self.assertTrue(pattern_from_url(a_router.urls[0]).endswith('/?$'),
"router created url without trailing slash when it should have")
示例10: register_nested
def register_nested(self, parent_prefix, prefix, viewset,
base_name=None, parent_lookup_name=None):
"""
Register a nested viewset wihtout worrying of instantiate a nested
router for registry.
"""
kwargs = {
'trailing_slash': bool(self.trailing_slash)
}
if parent_lookup_name is not None:
kwargs.update(lookup=parent_lookup_name)
nested_router = NestedSimpleRouter(
self,
parent_prefix,
**kwargs
)
nested_router.register(prefix, viewset, base_name)
self._nested_object_registry.append(nested_router)
示例11: setUp
def setUp(self):
self.router = SimpleRouter()
self.router.register(r'detail', DetailRouteViewSet)
self.detail_router = NestedSimpleRouter(
self.router,
r'detail',
lookup='detail'
)
self.detail_router.register(r'list', ListRouteViewSet)
self.list_router = NestedSimpleRouter(
self.detail_router,
r'list',
lookup='list'
)
示例12: DefaultRouter
from rest_framework.routers import DefaultRouter
from rest_framework_nested.routers import NestedSimpleRouter
from commons.views import csrf_token
from users.views import UserViewSet
from users.views import signin
from users.views import signout
from tasks.views import TaskViewSet
from tasks.views import PomodoroViewSet
router = DefaultRouter()
router.register(r'users', UserViewSet, base_name='user')
router.register(r'tasks', TaskViewSet, base_name='task')
tasks_router = NestedSimpleRouter(router, r'tasks', lookup='task')
tasks_router.register(r'pomodoros', PomodoroViewSet, base_name='pomodoro')
urlpatterns = [
url(r'^admin/', admin.site.urls),
# get csrf token
url(r'^csrf_token', csrf_token, name='csrf_token'),
# login/logout
url(r'^auth/signin', signin, name='signin'),
url(r'^auth/signout', signout, name='signout'),
# test auth from django-rest-framework
url(r'^test/auth/', include('rest_framework.urls', namespace='rest_framework')),
示例13: NestedSimpleRouter
from django.conf.urls import patterns, url, include
from rest_framework import routers
from rest_framework_nested.routers import NestedSimpleRouter
from . import views
router = routers.DefaultRouter()
router.register(r'category', views.CategoryViewSet)
router.register(r'eligibility_check', views.EligibilityCheckViewSet, base_name='eligibility_check')
router.register(r'case', views.CaseViewSet)
eligibility_check_router = \
NestedSimpleRouter(router,
'eligibility_check',
lookup='eligibility_check_')
eligibility_check_router.register(r'property',
views.PropertyViewSet,
base_name='property',
)
urlpatterns = patterns('',
url(r'^', include(router.urls)),
url(r'^', include(eligibility_check_router.urls)),
)
示例14: DefaultRouter
from django.conf.urls import patterns, include, url
from django.conf import settings
from django.contrib import admin
from rest_framework.urlpatterns import format_suffix_patterns
from buppli import api
from rest_framework.routers import DefaultRouter
from rest_framework_jwt.views import obtain_jwt_token, refresh_jwt_token
from rest_framework_nested.routers import NestedSimpleRouter
from buppli.views import IndexView, BucketListView, logout_view
router = DefaultRouter()
router.register(r'auth/register', api.UserViewSet)
router.register(r'bucketlists', api.BucketListViewSet)
router.register(r'public-bucketlist', api.PublicBucketListViewSet,
base_name='public_bucketlist')
bucketlist_router = NestedSimpleRouter(router, r'bucketlists',
lookup='bucketlist')
bucketlist_router.register(r'items', api.BucketListItemViewSet)
urlpatterns = [
url(r'^$', IndexView.as_view()),
url(r'^bucketlists$', BucketListView.as_view()),
url(r'^logout$', logout_view),
url(r'^api/v1/login/$', obtain_jwt_token, name='login'),
url(r'^api/v1/login/refresh_token/$', refresh_jwt_token),
url(r'^api/v1/', include(router.urls)),
url(r'^api/v1/', include(bucketlist_router.urls)),
url(r'^api/v1/docs/', include("rest_framework_swagger.urls")),
url(r'^admin/', include(admin.site.urls)),
url(r'^static/(?P<path>.*)$',
django.views.static.serve, {'document_root': settings.STATIC_ROOT}),
]
示例15: url
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
Including another URLconf
1. Add an import: from blog import urls as blog_urls
2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls))
"""
from django.conf.urls import include, url
from django.contrib import admin
from rest_framework.routers import DefaultRouter
from rest_framework_nested.routers import NestedSimpleRouter
from blogposts.views import BlogpostViewSet, CommentViewSet, NestedCommentViewSet
from .views import UserViewSet
router = DefaultRouter()
router.register(r'users', UserViewSet)
router.register(r'blogposts', BlogpostViewSet)
router.register(r'comments', CommentViewSet)
blogposts_router = NestedSimpleRouter(router, r'blogposts', lookup='blogpost')
blogposts_router.register(r'comments', NestedCommentViewSet)
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^api/', include(router.urls)),
url(r'^api/', include(blogposts_router.urls)),
url(r'^o/', include('oauth2_provider.urls', namespace='oauth2_provider')),
]