本文整理汇总了Python中tastypie.api.Api.register方法的典型用法代码示例。如果您正苦于以下问题:Python Api.register方法的具体用法?Python Api.register怎么用?Python Api.register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tastypie.api.Api
的用法示例。
在下文中一共展示了Api.register方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_top_level_include_schema_content
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def test_top_level_include_schema_content(self):
api = Api()
note_resource = NoteResource()
user_resource = UserResource()
api.register(note_resource)
api.register(user_resource)
request = HttpRequest()
request.GET = {'fullschema': 'true'}
resp = api.top_level(request)
self.assertEqual(resp.status_code, 200)
content = json.loads(resp.content.decode('utf-8'))
content['notes']['schema'] = adjust_schema(content['notes']['schema'])
content['users']['schema'] = adjust_schema(content['users']['schema'])
dummy_request = HttpRequest()
dummy_request.method = 'GET'
notes_schema = adjust_schema(json.loads(note_resource.get_schema(dummy_request).content.decode('utf-8')))
user_schema = adjust_schema(json.loads(user_resource.get_schema(dummy_request).content.decode('utf-8')))
self.assertEqual(content['notes']['list_endpoint'], '/api/v1/notes/')
self.assertEqual(content['notes']['schema'], notes_schema)
self.assertEqual(content['users']['list_endpoint'], '/api/v1/users/')
self.assertEqual(content['users']['schema'], user_schema)
示例2: get_urls
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def get_urls(version=1):
api = Api(api_name='auth')
if version == 1:
api.register(User())
return api.urls
示例3: test_custom_api_serializer
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def test_custom_api_serializer(self):
"""Confirm that an Api can use a custom serializer"""
# Origin: https://github.com/django-tastypie/django-tastypie/pull/817
class JSONSerializer(Serializer):
formats = ('json', )
api = Api(serializer_class=JSONSerializer)
api.register(NoteResource())
request = HttpRequest()
request.META = {'HTTP_ACCEPT': 'text/javascript'}
resp = api.top_level(request)
self.assertEqual(resp.status_code, 200)
self.assertEqual(resp['content-type'], 'application/json',
msg="Expected application/json response but received %s" % resp['content-type'])
request = HttpRequest()
request.META = {'HTTP_ACCEPT': 'application/xml'}
resp = api.top_level(request)
self.assertEqual(resp.status_code, 200)
self.assertEqual(resp['content-type'], 'application/json',
msg="Expected application/json response but received %s" % resp['content-type'])
示例4: test_unregister
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def test_unregister(self):
tastypie.available_apis = {}
api = Api()
api.register(NoteResource())
api.register(UserResource(), canonical=False)
self.assertEqual(sorted(api._registry.keys()), ["notes", "users"])
self.assertEqual(len(tastypie.available_apis), 1)
self.assertEqual(tastypie.available_apis["v1"]["class"], api)
self.assertEqual(tastypie.available_apis["v1"]["resources"], ["notes", "users"])
self.assertEqual(tastypie.available_apis["v1"]["representations"], {"NoteRepresentation": "notes"})
self.assertEqual(len(api._canonicals), 1)
api.unregister("users")
self.assertEqual(len(api._registry), 1)
self.assertEqual(sorted(api._registry.keys()), ["notes"])
self.assertEqual(len(api._canonicals), 1)
self.assertEqual(tastypie.available_apis["v1"]["class"], api)
self.assertEqual(tastypie.available_apis["v1"]["resources"], ["notes"])
self.assertEqual(tastypie.available_apis["v1"]["representations"], {"NoteRepresentation": "notes"})
api.unregister("notes")
self.assertEqual(len(api._registry), 0)
self.assertEqual(sorted(api._registry.keys()), [])
self.assertEqual(tastypie.available_apis["v1"]["class"], api)
self.assertEqual(tastypie.available_apis["v1"]["resources"], [])
self.assertEqual(tastypie.available_apis["v1"]["representations"], {})
api.unregister("users")
self.assertEqual(len(api._registry), 0)
self.assertEqual(sorted(api._registry.keys()), [])
self.assertEqual(tastypie.available_apis["v1"]["class"], api)
self.assertEqual(tastypie.available_apis["v1"]["resources"], [])
self.assertEqual(tastypie.available_apis["v1"]["representations"], {})
示例5: test_canonical_resource_for
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def test_canonical_resource_for(self):
tastypie.available_apis = {}
api = Api()
note_resource = NoteResource()
user_resource = UserResource()
api.register(note_resource)
api.register(user_resource)
self.assertEqual(len(api._canonicals), 2)
self.assertEqual(isinstance(api.canonical_resource_for("notes"), NoteResource), True)
api_2 = Api()
self.assertRaises(URLReverseError, tastypie._get_canonical_resource_name, api_2, NoteRepresentation)
self.assertEqual(tastypie._get_canonical_resource_name(api.api_name, NoteRepresentation), "notes")
self.assertEqual(tastypie._get_canonical_resource_name(api.api_name, NoteRepresentation()), "notes")
self.assertEqual(
tastypie._get_canonical_resource_name(api.api_name, note_resource.detail_representation), "notes"
)
self.assertEqual(tastypie._get_canonical_resource_name(api.api_name, UserRepresentation), "users")
self.assertEqual(tastypie._get_canonical_resource_name(api.api_name, UserRepresentation()), "users")
self.assertEqual(
tastypie._get_canonical_resource_name(api.api_name, user_resource.detail_representation), "users"
)
api.unregister(user_resource.resource_name)
self.assertRaises(NotRegistered, api.canonical_resource_for, "users")
示例6: test_top_level_jsonp
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def test_top_level_jsonp(self):
api = Api()
api.register(NoteResource())
api.register(UserResource())
request = HttpRequest()
request.META = {"HTTP_ACCEPT": "text/javascript"}
request.GET = {"callback": "foo"}
resp = api.top_level(request)
self.assertEqual(resp.status_code, 200)
self.assertEqual(resp["content-type"].split(";")[0], "text/javascript")
self.assertEqual(
resp.content.decode("utf-8"),
'foo({"notes": {"list_endpoint": "/api/v1/notes/", "schema": "/api/v1/notes/schema/"}, "users": {"list_endpoint": "/api/v1/users/", "schema": "/api/v1/users/schema/"}})',
)
request = HttpRequest()
request.META = {"HTTP_ACCEPT": "text/javascript"}
request.GET = {"callback": ""}
try:
resp = api.top_level(request)
self.fail("Broken callback didn't fail!")
except BadRequest:
# Regression: We expect this, which is fine, but this used to
# be an import error.
pass
示例7: named_api
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def named_api(api_name):
""" api_name is the version part of the api path
"""
new_api = Api(api_name=api_name)
for resource in resources.__all__:
new_api.register(getattr(resources, resource)())
return new_api
示例8: get_api
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def get_api():
addata_api = Api(api_name='v1')
addata_api.register(LoginResource())
addata_api.register(URLRecordResource())
addata_api.register(FBAdResource())
addata_api.register(FBSponsoredResource())
addata_api.register(FBListingResource())
return addata_api
示例9: get_api
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def get_api():
# create the naespaces for the applications
api = Api(api_name='simpleapp')
api.register(TypeResource())
api.register(ProductResource())
base_path_regex = r'^api/v1/'
return base_path_regex,api
示例10: test_top_level
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def test_top_level(self):
api = Api()
api.register(NoteResource())
api.register(UserResource())
request = HttpRequest()
resp = api.top_level(request)
self.assertEqual(resp.status_code, 200)
self.assertEqual(resp.content.decode('utf-8'), '{"notes": {"list_endpoint": "/api/v1/notes/", "schema": "/api/v1/notes/schema/"}, "users": {"list_endpoint": "/api/v1/users/", "schema": "/api/v1/users/schema/"}}')
示例11: test_top_level
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def test_top_level(self):
api = Api()
api.register(NoteResource())
api.register(UserResource())
request = HttpRequest()
resp = api.top_level(request)
self.assertEqual(resp.status_code, 200)
self.assertEqual(resp.content, '{"notes": "/api/v1/notes/", "users": "/api/v1/users/"}')
示例12: build_api_urls
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def build_api_urls():
v1_api = Api(api_name='v1')
v1_api.register(VideoResource())
v1_api.register(CategoryResource())
return patterns(
'richard.videos.views',
(r'^api/', include(v1_api.urls)),
)
示例13: resouce_autodiscover
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def resouce_autodiscover(api_name="v1", api_module_name="api"):
api = Api(api_name=api_name)
for app in settings.INSTALLED_APPS:
try:
resorce_api = import_module('%s.%s' % (app, api_module_name))
for resource_klass_name in resorce_api.__all__:
resource_klass = getattr(resorce_api, resource_klass_name)
api.register(resource_klass())
except:
continue
return api
示例14: test_canonical_resource_for
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def test_canonical_resource_for(self):
api = Api()
note_resource = NoteResource()
user_resource = UserResource()
api.register(note_resource)
api.register(user_resource)
self.assertEqual(len(api._canonicals), 2)
self.assertEqual(isinstance(api.canonical_resource_for('notes'), NoteResource), True)
api.unregister(user_resource._meta.resource_name)
self.assertRaises(NotRegistered, api.canonical_resource_for, 'users')
示例15: test_jsonp_not_on_by_default
# 需要导入模块: from tastypie.api import Api [as 别名]
# 或者: from tastypie.api.Api import register [as 别名]
def test_jsonp_not_on_by_default(self):
api = Api()
api.register(NoteResource())
api.register(UserResource())
request = HttpRequest()
request.META = {'HTTP_ACCEPT': 'text/javascript'}
request.GET = {'callback': 'foo'}
resp = api.top_level(request)
self.assertEqual(resp.status_code, 200)
self.assertEqual(resp['content-type'].split(';')[0], 'application/json')
self.assertFalse("foo" in resp.content.decode('utf-8'))