Sự khác biệt giữa django-tastypie-với-nhật-dummycache-error500 và Django Tastypie là:
Phiên bản này bao gồm ba bản vá lỗi đã được đệ trình như yêu cầu kéo những người sáng tạo của Django Tastypie:
- 6bf187d> nếu một Lỗi 500 xảy ra, thông điệp của ngoại lệ được thể hiện trong mô tả lỗi, thay vì một chung 'Yêu cầu này không thể được xử lý'.
- 18d7a90> khi sử dụng DummyCache Django, CacheThrottle không thất bại
- 1fbc0a8> cho phép upload tập tin (file đính kèm) về yêu cầu POST
Một khi các bản vá lỗi được bao gồm trong các kho lưu trữ nguồn, ngã ba này sẽ không được yêu cầu nữa.
Có gì Nó Giống Như?
Một ví dụ cơ bản trông giống như:
# Myapp / api.py
# ============
từ tastypie.resources ModelResource nhập khẩu
từ myapp.models nhập khẩu nhập
lớp EntryResource (ModelResource):
& Nbsp; class Meta:
& Nbsp; queryset = Entry.objects.all ()
# Urls.py
# =======
từ django.conf.urls.defaults nhập khẩu *
từ Api nhập khẩu tastypie.api
từ myapp.api EntryResource nhập khẩu
v1_api = Api (api_name = 'v1')
v1_api.register (EntryResource ())
urlpatterns = mẫu ('',
& Nbsp; # Các jazz bình thường ở đây thì ...
& Nbsp; (r '^ api /', bao gồm (v1_api.urls)),
)
Điều đó sẽ cho bạn một làm việc đầy đủ, đọc-ghi API cho các mô hình Entry hỗ trợ tất cả các thao tác CRUD một cách yên tĩnh. JSON hỗ trợ / XML / YAML là đã có, và nó dễ dàng để thêm dữ liệu liên quan / chứng thực / bộ nhớ đệm.
Bạn có thể tìm thấy nhiều trong các tài liệu tại http://django-tastypie.readthedocs.org/.
Tại sao tastypie?
Có, khung API biết tốt hơn khác ra khỏi đó cho Django. Bạn cần phải đánh giá các lựa chọn có sẵn và quyết định cho chính mình. Điều đó nói rằng, đây là một số lý do phổ biến cho tastypie.
- Bạn cần một API mà là yên tĩnh và sử dụng HTTP tốt.
- Bạn muốn hỗ trợ các mối quan hệ sâu sắc.
- Bạn không cần phải viết serializer của riêng bạn để làm cho đúng sản lượng.
- Bạn muốn có một khuôn khổ API có chút kỳ diệu, rất linh hoạt và ánh xạ tốt với các vấn đề tên miền.
- Bạn muốn / cần XML serialization được đối xử bình đẳng với JSON (và YAML là có quá).
- Bạn muốn hỗ trợ hội chứng NIH nhận thức của tôi, mà là ít hơn về NIH và nhiều hơn nữa về cố gắng để giúp đỡ bạn bè / đồng nghiệp.
Tài liệu tham khảo
- Http://github.com/toastdriven/django-tastypie/tree/master/tests/basic thấy cách sử dụng cơ bản của tastypie
- Http://en.wikipedia.org/wiki/REST
- Http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
- Http://www.ietf.org/rfc/rfc2616.txt
- http://jacobian.org/writing/rest-worst-practices/
Requirements:
- Python
- Django
- mimeparse
- python-dateutil
Bình luận không