2008-10-17 35 views
20

Tôi có một ứng dụng django mà tôi muốn thêm một số giao diện còn lại. Tôi đã nhìn thấy http://code.google.com/p/django-rest-interface/ nhưng nó có vẻ khá đơn giản. Ví dụ, nó dường như không có một cách để thực thi bảo mật. Làm thế nào tôi sẽ đi về hạn chế những gì mọi người có thể xem và thao tác thông qua giao diện còn lại? Thông thường tôi sẽ đặt loại logic này trong quan điểm của tôi. Đây có phải là nơi thích hợp hoặc tôi nên di chuyển một số logic hơn vào mô hình? Ngoài ra, có một thư viện tốt hơn ở đó hay tôi cần phải cuộn của riêng tôi?Sử dụng django-rest-interface

Trả lời

12

Tôi sẽ xem xét sử dụng django-piston http://bitbucket.org/jespern/django-piston/wiki/Home ứng dụng nếu bảo mật là mối quan tâm chính của bạn.

Tôi đã sử dụng giao diện django-rest trong quá khứ, đáng tin cậy và mặc dù đơn giản của nó có thể khá mạnh mẽ, tuy nhiên django-piston có vẻ linh hoạt hơn về sau.

3

Vâng, từ giao diện của mọi thứ, có thông số authentication tới Collection. (xem ví dụ này: authentication.py)

Thứ hai, (ngay cả khi Django chưa có,) có lẽ phải là phần mềm trung gian thực hiện kiểm tra biểu mẫu CSRF/XSRF. (Ồ, có vẻ như là be one.) Bạn cũng có thể sử dụng số login_required and permission_required decorators trong url.

3

Ngay cả với thông số Xác thực, bạn không có quyền kiểm soát chi tiết những gì mọi người có thể làm. Việc thực hiện hiện tại của giao diện Django-REST không theo dõi thông tin người dùng, do đó bạn không có thông tin này để thực hiện kiểm tra ủy quyền chi tiết.

Xem Issue #32.

Tuy nhiên, thật dễ dàng mở rộng để thêm một số tính năng. Tôi sử dụng rất nhiều lớp con để thêm các đối tượng địa lý.

Cập nhật yêu cầu bằng thông tin đăng nhập, tuy nhiên, rất khó khăn trong Django. Thay vì làm điều đó, tôi để lại thông tin trong Bộ sưu tập.

Ngay bây giờ, tôi ước tính rằng giữa các bản vá lỗi và lớp con, những gì tôi đã viết là to bằng cách cuộn các chức năng xem RESTful của riêng tôi.

Django-REST, tuy nhiên, xử lý HTTP Digest một cách duyên dáng và gọn gàng. Tôi không mong muốn thay thế của họ với một số loại trang trí cho các chức năng xem Django của tôi.

[Có lẽ chúng ta nên mở một dự án giả mạo nguồn và làm việc ra một sự thay thế sạch?]

+0

mã google có vẻ là lưu trữ ưu tiên cho các ứng dụng django có thể tái sử dụng (Tôi không chắc chắn lý do) – Jiaaro

+0

@ S.Lott: Bạn đã đề xuất một dự án sourceforge; Tôi tin rằng @Jim Robert đã đề xuất sử dụng Google Code thay vì, nó dường như là giải pháp lưu trữ chi phối cho các ứng dụng Django nói chung, không bình luận về mức độ kiểm soát an ninh chính nó. –

+0

@Hank Gay: Cảm ơn. Mã Google có thể được ưa thích bởi vì Google đã thực hiện một cam kết lớn đối với Python. –

2

Vui lòng xem qua django-rest-framework, tôi vừa mới chuyển từ từ này sang khung công tác mới, hoạt động tuyệt vời!

http://django-rest-framework.org/

Đặc biệt là chế độ xem dựa trên lớp và api có thể duyệt! và nhiều lợi thế khác (ví dụ: để tải lên hình ảnh)

Các vấn đề liên quan