Ajax 使用Django REST框架读取、更新和创建
我有一个定义为的视图集Ajax 使用Django REST框架读取、更新和创建,ajax,django,rest,django-rest-framework,django-rest-auth,Ajax,Django,Rest,Django Rest Framework,Django Rest Auth,我有一个定义为的视图集 class ItemViewSet(viewsets.ModelViewSet): queryset = Item.objects.all() serializer_class = ItemSerializer 并将我的URL定义为 router = routers.DefaultRouter() router.register(r'items', ItemViewSet) urlpatterns = patterns('', url(r'^
class ItemViewSet(viewsets.ModelViewSet):
queryset = Item.objects.all()
serializer_class = ItemSerializer
并将我的URL定义为
router = routers.DefaultRouter()
router.register(r'items', ItemViewSet)
urlpatterns = patterns('',
url(r'^api/', include(router.urls)),
可浏览的API工作正常
我想用$.ajax()读取和发送json。如何使用视图集执行此操作?我可以用$.ajax({url:'/api/items/'})
之类的东西检索我的所有项目,但我不想硬编码url。如果我想编辑一个特定的项目怎么办?当我没有保存页面的命名url时,我该怎么做呢?阅读DRF文档
简单地说,你有:
GET /api/items/ #list the items
POST /api/items/ #create new item
GET /api/items/1/ #detail info about item with id=1
PUT /api/items/1/ #update item with id=1
PATCH /api/items/1/ #partial-update item with id=1
DELETE /api/items/1/ #delete item with id=1
但我没有命名的URL。我无法硬编码我所有的URL。请尝试
reverse('item-list')
和reverse('item-detail',args=[1])
。此URL可以传递给javascript,以避免硬编码。