本文整理汇总了Python中rest_framework.routers.DefaultRouter.register方法的典型用法代码示例。如果您正苦于以下问题:Python DefaultRouter.register方法的具体用法?Python DefaultRouter.register怎么用?Python DefaultRouter.register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rest_framework.routers.DefaultRouter
的用法示例。
在下文中一共展示了DefaultRouter.register方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_flatten_url_tree_url_import_with_routers
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
def test_flatten_url_tree_url_import_with_routers(self):
class MockApiViewSet(ModelViewSet):
serializer_class = CommentSerializer
model = User
class AnotherMockApiViewSet(ModelViewSet):
serializer_class = CommentSerializer
model = User
router = DefaultRouter()
router.register(r'other_views', MockApiViewSet)
router.register(r'more_views', MockApiViewSet)
urls_app = patterns('', url(r'^', include(router.urls)))
urls = patterns(
'',
url(r'api/', include(urls_app)),
url(r'test/', include(urls_app))
)
urlparser = UrlParser()
apis = urlparser.get_apis(urls)
self.assertEqual(sum(api['path'].find('api') != -1 for api in apis), 4)
self.assertEqual(sum(api['path'].find('test') != -1 for api in apis), 4)
示例2: Restify
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
class Restify(object):
def __init__(self):
# get restify specific settings
self.settings = getattr(settings, 'RESTIFY', {})
self.IGNORE_LIST = ['^django*', '^api$', '^rest_framework*',
'^auth*'] + self.settings.get('IGNORE_LIST', [])
self.router = None
self.viewsets = {} # viewsets
self.apps()
def slugify(self, value):
try:
value = unicodedata.normalize('NFKD', value).encode(
'ascii', 'ignore').decode('ascii')
except:
pass
value = re.sub('[^\w\s-]', '', value).strip().lower()
return re.sub('[-\s]+', '-', value)
def get_apps(self):
return apps.app_configs
def apps(self):
all_apps = self.get_apps()
MODELS = self.settings.get('MODELS', None)
for app, app_config in all_apps.items():
# Check if user is in ignored list
found = [ignore_pattern for ignore_pattern in self.IGNORE_LIST
if re.findall(ignore_pattern, app_config.name)]
if found:
continue
for model in app_config.get_models():
if MODELS and model._meta.model_name not in MODELS:
continue
url = self.slugify(model._meta.verbose_name_plural.title())
view = Views()
viewset = view.get_viewsets(model)
self.viewsets[url] = viewset
def register(self):
self.router = DefaultRouter()
for url, viewset in self.viewsets.items():
self.router.register(url, viewset)
# special case fo User model
user_viewset = get_user_viewset()
self.router.register('users', user_viewset)
return self.router
def router(self):
return self.router
示例3: setUp
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
def setUp(self):
router = DefaultRouter()
router.register('example1', Http404ExampleViewSet, base_name='example1')
router.register('example2', PermissionDeniedExampleViewSet, base_name='example2')
self.patterns = [
url('^example/?$', ExampleListView.as_view()),
url(r'^', include(router.urls))
]
示例4: TestNameableRoot
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
class TestNameableRoot(TestCase):
def setUp(self):
class NoteViewSet(viewsets.ModelViewSet):
model = RouterTestModel
self.router = DefaultRouter()
self.router.root_view_name = 'nameable-root'
self.router.register(r'notes', NoteViewSet)
self.urls = self.router.urls
def test_router_has_custom_name(self):
expected = 'nameable-root'
self.assertEqual(expected, self.urls[0].name)
示例5: TestNameableRoot
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
class TestNameableRoot(TestCase):
def setUp(self):
class NoteViewSet(viewsets.ModelViewSet):
queryset = RouterTestModel.objects.all()
self.router = DefaultRouter()
self.router.root_view_name = 'nameable-root'
self.router.register(r'notes', NoteViewSet)
self.urls = self.router.urls
def test_router_has_custom_name(self):
expected = 'nameable-root'
assert expected == self.urls[-1].name
示例6: TestRootWithAListlessViewset
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
class TestRootWithAListlessViewset(TestCase):
def setUp(self):
class NoteViewSet(mixins.RetrieveModelMixin, viewsets.GenericViewSet):
model = RouterTestModel
self.router = DefaultRouter()
self.router.register(r"notes", NoteViewSet)
self.view = self.router.urls[0].callback
def test_api_root(self):
request = factory.get("/")
response = self.view(request)
self.assertEqual(response.data, {})
示例7: GeoModelViewSetTestCase
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
class GeoModelViewSetTestCase(SimpleQueryTestCase):
def setUp(self):
self.router = DefaultRouter()
self.router.register(r'locations', LocationViewSet)
self.view = LocationViewSet.as_view({'get': 'list'})
def test_renderer(self):
request = factory.get('/locations/',
HTTP_ACCEPT=GeoJSONRenderer.media_type)
response = self.view(request)
self.assertIsInstance(response.accepted_renderer, GeoJSONRenderer)
def test_register(self):
self.assertGreater(len(self.router.urls), 0)
示例8: test_exclude_router_api_root
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
def test_exclude_router_api_root(self):
class MyViewSet(ModelViewSet):
serializer_class = CommentSerializer
model = User
router = DefaultRouter()
router.register('test', MyViewSet)
urls_created = len(router.urls)
parser = UrlParser()
apis = parser.get_apis(router.urls)
self.assertEqual(4, urls_created - len(apis))
示例9: RasterViewSetTestCase
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
class RasterViewSetTestCase(SimpleTestCase):
def setUp(self):
self.router = DefaultRouter()
self.router.register(r'rasters', RasterViewSet)
self.view = RasterViewSet.as_view({'get': 'list'})
def test_renderer(self):
request = factory.get('/rasters/',
HTTP_ACCEPT=GeoTIFFZipRenderer.media_type)
response = self.view(request)
self.assertEqual(response['Content-Type'],
GeoTIFFZipRenderer.media_type)
def test_register(self):
self.assertGreater(len(self.router.urls), 0)
示例10: test_flatten_url_tree_url_import_with_routers
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
def test_flatten_url_tree_url_import_with_routers(self):
class MockApiViewSet(ModelViewSet):
serializer_class = CommentSerializer
model = User
class AnotherMockApiViewSet(ModelViewSet):
serializer_class = CommentSerializer
model = User
router = DefaultRouter()
router.register(r"other_views", MockApiViewSet)
router.register(r"more_views", MockApiViewSet)
urls_app = patterns("", url(r"^", include(router.urls)))
urls = patterns("", url(r"api/", include(urls_app)), url(r"test/", include(urls_app)))
urlparser = UrlParser()
apis = urlparser.get_apis(urls)
self.assertEqual(sum(api["path"].find("api") != -1 for api in apis), 4)
self.assertEqual(sum(api["path"].find("test") != -1 for api in apis), 4)
示例11: get_router
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
def get_router():
"""
Get a Django REST Framework router instance with all viewsets.
:rtype: rest_framework.routers.DefaultRouter
"""
router = DefaultRouter()
router.register(r'projects', ProjectViewSet)
router.register(r'issues', IssueViewSet)
router.register(r'comments', CommentViewSet)
return router
示例12: DefaultRouter
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
from valve_insulation import views
from django.conf.urls import url, include
from rest_framework import renderers
from rest_framework.routers import DefaultRouter
from rest_framework.urlpatterns import format_suffix_patterns
# Create a router and register our viewsets with it.
router = DefaultRouter()
router.register(r'valve_insulation', views.ValveInsulationViewSet)
urlpatterns = [
url(r'^', include(router.urls))
]
示例13: get_swagger_view
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
from tunga_projects.views import ProjectViewSet, DocumentViewSet, ParticipationViewSet, ProgressEventViewSet, \
ProgressReportViewSet, InterestPollViewSet
from tunga_settings.views import UserSettingsView
from tunga_support.views import SupportPageViewSet, SupportSectionViewSet
from tunga_tasks.views import TimeEntryViewSet, \
coinbase_notification, bitpesa_notification, EstimateViewSet, QuoteViewSet, MultiTaskPaymentKeyViewSet, \
TaskPaymentViewSet, ParticipantPaymentViewSet, SkillsApprovalViewSet, SprintViewSet, TaskDocumentViewSet, TaskViewSet
from tunga_uploads.views import UploadViewSet
from tunga_utils.views import SkillViewSet, ContactRequestView, get_medium_posts, get_oembed_details, upload_file, \
find_by_legacy_id, InviteRequestView, weekly_report, hubspot_notification, calendly_notification, search_logger
api_schema_view = get_swagger_view(title='Tunga API')
router = DefaultRouter()
# v3 routes
router.register(r'users', UserViewSet)
router.register(r'apply', DeveloperApplicationViewSet)
router.register(r'invite', DeveloperInvitationViewSet)
router.register(r'me/education', EducationViewSet)
router.register(r'me/work', WorkViewSet)
router.register(r'projects', ProjectViewSet)
router.register(r'documents', DocumentViewSet)
router.register(r'participation', ParticipationViewSet)
router.register(r'interest-polls', InterestPollViewSet)
router.register(r'progress-events', ProgressEventViewSet)
router.register(r'progress-reports', ProgressReportViewSet)
router.register(r'invoices', InvoiceViewSet)
router.register(r'payments', PaymentViewSet)
router.register(r'activity', ActionViewSet)
router.register(r'comments', CommentViewSet)
router.register(r'channels', ChannelViewSet)
示例14: regex_url_path_detail
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
@action(detail=True, url_path='detail/(?P<kwarg>[0-9]{4})')
def regex_url_path_detail(self, request, *args, **kwargs):
pk = self.kwargs.get('pk', '')
kwarg = self.kwargs.get('kwarg', '')
return Response({'pk': pk, 'kwarg': kwarg})
notes_router = SimpleRouter()
notes_router.register(r'notes', NoteViewSet)
kwarged_notes_router = SimpleRouter()
kwarged_notes_router.register(r'notes', KWargedNoteViewSet)
namespaced_router = DefaultRouter()
namespaced_router.register(r'example', MockViewSet, basename='example')
empty_prefix_router = SimpleRouter()
empty_prefix_router.register(r'', EmptyPrefixViewSet, basename='empty_prefix')
regex_url_path_router = SimpleRouter()
regex_url_path_router.register(r'', RegexUrlPathViewSet, basename='regex')
class BasicViewSet(viewsets.ViewSet):
def list(self, request, *args, **kwargs):
return Response({'method': 'list'})
@action(methods=['post'], detail=True)
def action1(self, request, *args, **kwargs):
return Response({'method': 'action1'})
示例15: DefaultRouter
# 需要导入模块: from rest_framework.routers import DefaultRouter [as 别名]
# 或者: from rest_framework.routers.DefaultRouter import register [as 别名]
# -*- coding: utf-8 -*-
from django.conf.urls import patterns, include, url
from files.api import FilesViewSet
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register("files", FilesViewSet)
urlpatterns = patterns("", url(r"", include(router.urls)))