喘息是一個應用程序,符合Django的,以具象狀態傳輸(REST)。
用法
入門
喘息是on Rails的受紅寶石,雖然在Python的精神是不是幾乎一樣“神奇”。它將,但是,為您節省了大量的代碼:
#新聞/ models.py
從django.db進口車型
第四類(models.Model):
 標題= models.CharField(MAX_LENGTH = 255)
 內容= models.TextField()
 發表=真
  created_at = models.DateTimeField(auto_now_add =真)
#新聞/ urls.py
從django.conf.urls.defaults導入*
從respite.urls進口來源
從意見進口ArticleView
URL模式=資源(
  PREFIX =“新聞/文章',
 查看= ArticleView
)
#新聞/ views.py
從喘息進口查看
從車型導入文章
類ArticleView(查看):
 型號=文章
  template_path ='新聞/文章“
  supported_formats = ['HTML','JSON']
#模板/新聞/文章/ index.html的
<!DOCTYPE HTML>
&NBSP;
&NBSP; <標題> {{} article.title}
&NBSP;
&NBSP;
&NBSP; {%的文章中文章%}
&NBSP; <文>
&NBSP;
的 {{} article.title}
&NBSP; <時間日期時間=“{{} article.created_at.isoformat}”> {{article.created_at}}
&NBSP;
&NBSP; {{article.content}}
&NBSP;
&NBSP; 條>
&NBSP; {%ENDFOR%}
&NBSP;
#模板/新聞/文章/ index.json
#...
默認操作
喘息的視圖類為查看和操作模型實例行動;指數顯示,新,創建,編輯和sbquo;更新和銷毀。
HTTP方法HTTP通道功能用途
GET文章/指數渲染的文章列表
GET文章/新新的渲染形式來創建一個新的文章
POST文章/創建創建一個新的文章
GET篇/ 1顯示渲染的具體條款
GET篇/ 1 /編輯編輯渲染一種形式編輯的具體條款
PUT篇/ 1更新編輯的具體條款
刪除文章/ 1銷毀刪除的具體條款
概括地說,喘息為您提供的功能,你可能需要對大多數的模型並將其路線REST風格的集合。您可以覆蓋任何這些功能或全部並進行自定義,只要你願意。例如,您可以只列出已發表的文章:
#新聞/ views.py
類ArticleView(查看):
&NBSP;型號=文章
&NBSP; template_path ='新聞/文章“
&NBSP; supported_formats = ['HTML','JSON']
&NBSP;高清指數(個體經營,要求):
&NBSP;文章= self.model.objects.filter(公佈=真)
&NBSP;回報self._render(
&NBSP;請求=請求,
&NBSP;模板=“索引”,
&NBSP;環境= {
&NBSP;“文章”:文章,
&NBSP;},
&NBSP;狀態= 200
&NBSP;)
您也可以省略一個默認的行為或幾個完全。例如,你可以只實現索引和顯示操作:
#新聞/ urls.py
從django.conf.urls.defaults導入*
從respite.urls進口來源
從意見進口ArticleView
URL模式=資源(
&NBSP; PREFIX =“新聞/文章',
&NBSP;查看= ArticleView,
&NBSP;行動= ['指數','秀']
)
自定義操作
你不局限於喘息七個預定義的操作;您可以添加任意數量的自定義操作,並將它們路由,只要你喜歡:
#新聞/ urls.py
從django.conf.urls.defaults導入*
從respite.urls進口資源,行動
從意見進口ArticleView
URL模式=資源(
&NBSP; PREFIX =“新聞/文章',
&NBSP;查看= ArticleView,
&NBSP; custom_actions = [
&NBSP;行動(
&NBSP;正則表達式= R'(?P [0-9] +)。?/預覽 [A-ZA-Z] * $',
&NBSP;功能='預覽',
&NBSP;方法= ['GET'],
&NBSP;名稱='preview_news_article“
&NBSP;)
&NBSP;]
)
#新聞/ views.py
從喘息進口查看
從車型導入文章
類ArticleView(查看):
&NBSP;型號=文章
&NBSP; template_path ='新聞/文章“
&NBSP; supported_formats = ['HTML','JSON']
&NBSP;高清預覽(個體經營,請求ID):
&nbsp;報導= Article.objects.get(ID = ID)
&NBSP;回報self._render(
&NBSP;請求=請求,
&NBSP;模板='預覽',
&NBSP;環境= {
&NBSP;“文章”:文章
&NBSP;},
&NBSP;狀態= 200
&NBSP;)
安裝
- PIP安裝混帳+ HTTP://github.com/jgorset/respite.git
- 添加喘息INSTALLED_APPS在你的設置文件
- 添加到respite.middleware.HTTPPUTMiddleware MIDDLEWARE_CLASSES在你的設置文件
如果你不只是建立一個API,你也可能要添加respite.middleware.HTTPMethodOverrideMiddleware您中間件類;它促進了與X-HTTP-方法,覆蓋頭部或_method HTTP POST參數,這是更新(HTTP PUT)和刪除的唯一方法重寫HTTP方法(HTTP DELETE)的資源從網絡瀏覽器。
要求:
- 在Python中
- 在Django的
評論沒有發現