django模型的数据馈送库。
cereal-box的Python项目详细描述
#谷物框
描述
谷物框是一个序列化库,通过自定义django模板标记和json api公开定义的函数。
安装
(r“^api/”,include(grain.urls))
如果某个特定IP地址的请求数
超过每个超时的请求数
,则用户将收到503个错误响应,服务不可用。
更改此行为的可用设置为:
谷类请求超时,默认值为1(秒)
谷类请求每超时一次,默认值为15(请求数)
如果使用超时视图,强烈建议您使用诸如Redis或Memcache之类的快捷方式否则,您将使用默认
到注册数据库的django缓存。
P<;型号>;\W+/(?P<;function>;\w+,graines.views.json廑api)
这只建议用于开发,因为它增加了生产开销。
myfunction4])
grain.register(my model,myfunction5)
grain.register(“myu任意范围”,myfunction6)
因此,my model和“MyModel”是等价的第一个参数。
或者您可以使用decorator:
@grain.register_for('my_scope')也可以在这里使用模型名
def my_function(…..)
…
传给麦片粥。
todo:最终我们想要这个请求(和其他信息?)以某种方式传递到这里。
通常,您会使用.values()来
从一个QuerySet转到一个字典,尽管对于多态关系获取类似内容的效率较低的方法,您可以使用Grain.smart廑values(QuerySet,*keys)。
这由默认的filter*(
)方法调用,也可以在注册的cerial.ize(queryset)函数中的queryset上手动调用。
请注意,序列化程序绑定到*model*而不是函数。待办事项:改变这种行为?
调用函数可以用python、模板标签或者JSON API调用来实现,也可以用python、模板标签或者JSON API调用来实现。
\python
{%load-gran-gran
u tags%}
{%谷物myu scope.myu函数arg1=value1arg2=value2 as cereals%}
现在“graines”将包含返回的任何python值。
\json api
这将使用常规的旧请求参数。发布也可以。
curl http://path.to.my.site/api/my-scope/my-function?arg1=value1&arg2=value2
结果是返回的python值的jsonified版本。
(models.Model):不需要命名snafu的snafu名称
name=models.CharField(max_len长=20)
sugar-level=models.positieiintegerfield()
def-unicode(self):return self.name
gricle.register(谷类食品,[谷类食品,[谷类食品.函数.filter())
;Python
>
>>gt;进口谷类食品
/>>;>;>;谷类食品。呼叫('谷类食品,'filter',sugar'sugar'sugar'sugar'sugar'sugar'sugar'sugarckcharms'}>
模板标签
{%load谷类食品。谷类食品。过滤糖等级=9 as谷类食品,%}
<;ul gt;
{%c在谷类食品中的c的c的c的c的c的c的c的c的c的c的c{c.name}<;li>;
{%endfor%}
<;ul>;
糖度=9
[{“糖度”:9,“id”:1,“name”:“幸运符”}]
描述
谷物框是一个序列化库,通过自定义django模板标记和json api公开定义的函数。
安装
(r“^api/”,include(grain.urls))
如果某个特定IP地址的请求数
超过每个超时的请求数
,则用户将收到503个错误响应,服务不可用。
更改此行为的可用设置为:
谷类请求超时,默认值为1(秒)
谷类请求每超时一次,默认值为15(请求数)
如果使用超时视图,强烈建议您使用诸如Redis或Memcache之类的快捷方式否则,您将使用默认
到注册数据库的django缓存。
P<;型号>;\W+/(?P<;function>;\w+,graines.views.json廑api)
这只建议用于开发,因为它增加了生产开销。
myfunction4])
grain.register(my model,myfunction5)
grain.register(“myu任意范围”,myfunction6)
因此,my model和“MyModel”是等价的第一个参数。
或者您可以使用decorator:
@grain.register_for('my_scope')也可以在这里使用模型名
def my_function(…..)
…
传给麦片粥。
todo:最终我们想要这个请求(和其他信息?)以某种方式传递到这里。
通常,您会使用.values()来
从一个QuerySet转到一个字典,尽管对于多态关系获取类似内容的效率较低的方法,您可以使用Grain.smart廑values(QuerySet,*keys)。
这由默认的filter*(
)方法调用,也可以在注册的cerial.ize(queryset)函数中的queryset上手动调用。
请注意,序列化程序绑定到*model*而不是函数。待办事项:改变这种行为?
调用函数可以用python、模板标签或者JSON API调用来实现,也可以用python、模板标签或者JSON API调用来实现。
\python
{%load-gran-gran
u tags%}
{%谷物myu scope.myu函数arg1=value1arg2=value2 as cereals%}
现在“graines”将包含返回的任何python值。
\json api
这将使用常规的旧请求参数。发布也可以。
curl http://path.to.my.site/api/my-scope/my-function?arg1=value1&arg2=value2
结果是返回的python值的jsonified版本。
(models.Model):不需要命名snafu的snafu名称
name=models.CharField(max_len长=20)
sugar-level=models.positieiintegerfield()
def-unicode(self):return self.name
;Python
>
>>
/>>;>;>;谷类食品。呼叫('谷类食品,'filter',sugar'sugar'sugar'sugar'sugar'sugar'sugar'sugarckcharms'}>
模板标签
{%load谷类食品。谷类食品。过滤糖等级=9 as谷类食品,%}
<;ul gt;
{%c在谷类食品中的c的c的c的c的c的c的c的c的c的c的c{c.name}<;li>;
{%endfor%}
<;ul>;
糖度=9
[{“糖度”:9,“id”:1,“name”:“幸运符”}]