Respite

Phần mềm chụp màn hình:
Respite
Các chi tiết về phần mềm:
Phiên bản: 1.0.0
Ngày tải lên: 15 Apr 15
Nhà phát triển: Johannes Gorset
Giấy phép: Miễn phí
Phổ biến: 3

Rating: nan/5 (Total Votes: 0)

Nghỉ ngơi là một ứng dụng thích hợp với Django để Representational State Transfer (REST).
Cách sử dụng
Primer
Thời gian nghỉ ngơi bị ảnh hưởng bởi Ruby on Rails, mặc dù trong tinh thần của Python nó không phải là gần như "ma thuật". Nó sẽ, tuy nhiên, bạn tiết kiệm rất nhiều mã:
# News / models.py
từ các mô hình nhập khẩu django.db
Điều lớp (models.Model):
& Nbsp; title = models.CharField (max_length = 255)
& Nbsp; nội dung = models.TextField ()
& Nbsp; xuất bản = True
& Nbsp; created_at = models.DateTimeField (auto_now_add = True)
# News / urls.py
từ django.conf.urls.defaults nhập khẩu *
từ nguồn nhập khẩu respite.urls
từ quan điểm nhập khẩu ArticleView
urlpatterns = tài nguyên (
& Nbsp; prefix = "news / bài viết,
& Nbsp; view = ArticleView
)
# News / views.py
thời gian nghỉ ngơi từ nhập khẩu Xem
từ nhập khẩu mô hình Điều
lớp ArticleView (View):
& Nbsp; mô hình = Điều
& Nbsp; template_path = "news / bài báo '
& Nbsp; supported_formats = ['html', 'json']
# Templates / tin / bài / index.html


& Nbsp;
& Nbsp; {{article.title}}
& Nbsp;
& Nbsp;
& Nbsp; {% cho bài viết trong bài báo%}
& Nbsp;


& Nbsp;

{{article.title}}


& Nbsp;

& Nbsp; {% endfor%}
& Nbsp;

# Templates / tin / bài / index.json
# ...
Hành động mặc định
Xem lớp thời gian nghỉ ngơi của định nghĩa hành động để xem và thao tác các trường hợp mô hình; index, show, mới, tạo, chỉnh sửa & sbquo; cập nhật và tiêu diệt.
HTTP phương pháp HTTP đường Chức năng Mục đích
GET bài viết / index Render một danh sách các bài viết
GET bài viết / mới mới Render một hình thức để tạo một bài viết mới
Bài POST / Tạo Tạo một bài viết mới
GET bài viết / 1 chương trình Render một bài viết cụ thể
GET bài viết / 1 / chỉnh sửa chỉnh sửa Render một hình thức để chỉnh sửa một bài viết cụ thể
PUT bài viết / 1 bản cập nhật sửa một bài viết cụ thể
DELETE bài viết / 1 diệt Xóa một bài viết cụ thể
Tóm lại, thời gian nghỉ ngơi cung cấp cho bạn với một bộ sưu tập các tính năng có thể bạn cần cho hầu hết các mô hình và các tuyến đường chúng bạn RESTfully. Bạn có thể ghi đè lên bất kỳ hoặc tất cả các chức năng và tùy chỉnh chúng như bạn muốn. Ví dụ, bạn chỉ có thể liệt kê các bài báo đã được công bố:
# News / views.py
lớp ArticleView (View):
& Nbsp; mô hình = Điều
& Nbsp; template_path = "news / bài báo '
& Nbsp; supported_formats = ['html', 'json']
& Nbsp; chỉ số def (self, theo yêu cầu):
& Nbsp; bài báo = self.model.objects.filter (xuất bản = True)
& Nbsp; trở self._render (
& Nbsp; yêu cầu = yêu cầu,
& Nbsp; 'index' template =,
& Nbsp; context = {
& Nbsp; 'bài': các bài báo,
& Nbsp;},
& Nbsp; tình trạng = 200
& Nbsp;)
Bạn cũng có thể bỏ qua một hoặc một số các hành động mặc định hoàn toàn. Ví dụ, bạn chỉ có thể thực hiện các chỉ mục và chương trình hành động:
# News / urls.py
từ django.conf.urls.defaults nhập khẩu *
từ nguồn nhập khẩu respite.urls
từ quan điểm nhập khẩu ArticleView
urlpatterns = tài nguyên (
& Nbsp; prefix = "news / bài viết,
& Nbsp; view = ArticleView,
& Nbsp; hành động = ['index', 'show']
)
Hành động tùy chỉnh
Bạn không được giới hạn ở bảy hành động định sẵn thời gian nghỉ ngơi của; bạn có thể thêm bất kỳ số lượng của các hành động tùy chỉnh và con đường chúng tuy nhiên bạn muốn:
# News / urls.py
từ django.conf.urls.defaults nhập khẩu *
từ respite.urls nhập khẩu tài nguyên, hành động
từ quan điểm nhập khẩu ArticleView
urlpatterns = tài nguyên (
& Nbsp; prefix = "news / bài viết,
& Nbsp; view = ArticleView,
& Nbsp; custom_actions = [
& Nbsp; hành động (
& Nbsp; regex = r '(? P [0-9] +).? / Preview [a-zA-Z] * $',
& Nbsp; chức năng = 'preview',
& Nbsp; phương pháp = ['GET'],
& Nbsp; name = 'preview_news_article'
& Nbsp;)
& Nbsp;]
)
# News / views.py
thời gian nghỉ ngơi từ nhập khẩu Xem
từ nhập khẩu mô hình Điều
lớp ArticleView (View):
& Nbsp; mô hình = Điều
& Nbsp; template_path = "news / bài báo '
& Nbsp; supported_formats = ['html', 'json']
& Nbsp; def preview (bản thân, yêu cầu, id):
& Nbsp; bài viết = Article.objects.get (id = id)
& Nbsp; trở self._render (
& Nbsp; yêu cầu = yêu cầu,
& Nbsp; mẫu = 'preview',
& Nbsp; context = {
& Nbsp; 'bài': Bài viết
& Nbsp;},
& Nbsp; tình trạng = 200
& Nbsp;)
Cài đặt
- Pip cài đặt git + http: //github.com/jgorset/respite.git
- Thêm thời gian nghỉ ngơi để INSTALLED_APPS trong tập tin cài đặt của bạn
- Thêm respite.middleware.HTTPPUTMiddleware để MIDDLEWARE_CLASSES trong tập tin cài đặt của bạn
Nếu bạn không chỉ cần xây dựng một API, bạn cũng có thể muốn thêm respite.middleware.HTTPMethodOverrideMiddleware đến lớp middleware của bạn; nó tạo điều kiện cho trọng các phương thức HTTP với tiêu đề X-HTTP-Phương-Override hoặc một tham số POST _method HTTP, đó là cách duy nhất để cập nhật (HTTP PUT) và xóa (HTTP DELETE) nguồn từ một trình duyệt web.

Yêu cầu :

  • Python
  • Django

Phần mềm khác của nhà phát triển Johannes Gorset

Facepy
Facepy

1 Mar 15

Fandjango
Fandjango

12 May 15

django-respite
django-respite

20 Feb 15

Ý kiến ​​để Respite

Bình luận không
Nhập bình luận
Bật hình ảnh!