喘息是一个应用程序,符合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的
评论没有发现