当前位置: 首页>>代码示例>>Python>>正文


Python DefaultRouter.register方法代码示例

本文整理汇总了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)
开发者ID:pcasciano,项目名称:django-rest-swagger,代码行数:27,代码来源:tests.py

示例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
开发者ID:DDecoene,项目名称:django-restify,代码行数:61,代码来源:restify.py

示例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))
     ]
开发者ID:ArtikUA,项目名称:django-rest-framework,代码行数:10,代码来源:test_schemas.py

示例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)
开发者ID:awarnys,项目名称:django-rest-framework,代码行数:14,代码来源:test_routers.py

示例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
开发者ID:seawolf42,项目名称:django-rest-framework,代码行数:15,代码来源:test_routers.py

示例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, {})
开发者ID:mhsparks,项目名称:django-rest-framework,代码行数:15,代码来源:test_routers.py

示例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)
开发者ID:bkg,项目名称:django-spillway,代码行数:16,代码来源:test_viewsets.py

示例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))
开发者ID:pcasciano,项目名称:django-rest-swagger,代码行数:16,代码来源:tests.py

示例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)
开发者ID:kuzmich,项目名称:django-spillway,代码行数:17,代码来源:test_viewsets.py

示例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)
开发者ID:B-Rich,项目名称:django-rest-swagger,代码行数:22,代码来源:tests.py

示例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
开发者ID:japsu,项目名称:wurst,代码行数:13,代码来源:router.py

示例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))
]
开发者ID:pushmeetkapoor,项目名称:new_django_pro,代码行数:17,代码来源:urls.py

示例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)
开发者ID:tunga-io,项目名称:tunga-api,代码行数:33,代码来源:urls.py

示例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'})
开发者ID:seawolf42,项目名称:django-rest-framework,代码行数:32,代码来源:test_routers.py

示例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)))
开发者ID:brunocontreras,项目名称:Frikr,代码行数:11,代码来源:urls.py


注:本文中的rest_framework.routers.DefaultRouter.register方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。