<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: RESTful Web apps with Django, Piston and Ext JS</title>
	<atom:link href="http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/</link>
	<description>Generously funded by Matt Dorn</description>
	<lastBuildDate>Sat, 04 Sep 2010 00:06:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Ryan Allen</title>
		<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/comment-page-1/#comment-11173</link>
		<dc:creator>Ryan Allen</dc:creator>
		<pubDate>Sat, 04 Sep 2010 00:06:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattdorn.com/?p=77#comment-11173</guid>
		<description>Well, I&#039;m still getting the 400 BAD REQUEST on POSTs.

I&#039;m running Piston 0.2.2 and that patch doesn&#039;t seem to apply to this version.  

My request headers from the POST do contain: application/json; charset=UTF-8 (according to firefox 3.6.7/firebug).

I wish I knew what what happening here.  I&#039;m somewhat committed to Piston!</description>
		<content:encoded><![CDATA[<p>Well, I&#8217;m still getting the 400 BAD REQUEST on POSTs.</p>
<p>I&#8217;m running Piston 0.2.2 and that patch doesn&#8217;t seem to apply to this version.  </p>
<p>My request headers from the POST do contain: application/json; charset=UTF-8 (according to firefox 3.6.7/firebug).</p>
<p>I wish I knew what what happening here.  I&#8217;m somewhat committed to Piston!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Orges</title>
		<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/comment-page-1/#comment-11169</link>
		<dc:creator>Orges</dc:creator>
		<pubDate>Wed, 18 Aug 2010 15:47:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattdorn.com/?p=77#comment-11169</guid>
		<description>In api/handlers.py one can add to the TaskHandler the following missing crud methods:

    def delete(self, request, id):
        if not self.has_model():
            return rc.NOT_IMPLEMENTED
        try:
            inst = self.model.objects.get(id=id)
            inst.delete()
            return rc.DELETED
        except self.model.MultipleObjectsReturned:
            return rc.DUPLICATE_ENTRY
        except self.model.DoesNotExist:
            return rc.NOT_HERE

    def read(self, request, id):
        if not self.has_model():
            return rc.NOT_IMPLEMENTED
        try:
            inst = self.model.objects.get(id=id)
            return inst
        except self.model.MultipleObjectsReturned:
            return rc.DUPLICATE_ENTRY
        except self.model.DoesNotExist:
            return rc.NOT_HERE

Then one can test it with curl:
delete the task with id=1:
curl -i -H &quot;Accept: application/json&quot; -X DELETE  &#039;http://localhost:8000/api/tasks/1&#039;

read the task with id=2:
curl -i -H &quot;Accept: application/json&quot; -X GET &#039;http://localhost:8000/api/tasks/2&#039;

Hope this helps.</description>
		<content:encoded><![CDATA[<p>In api/handlers.py one can add to the TaskHandler the following missing crud methods:</p>
<p>    def delete(self, request, id):<br />
        if not self.has_model():<br />
            return rc.NOT_IMPLEMENTED<br />
        try:<br />
            inst = self.model.objects.get(id=id)<br />
            inst.delete()<br />
            return rc.DELETED<br />
        except self.model.MultipleObjectsReturned:<br />
            return rc.DUPLICATE_ENTRY<br />
        except self.model.DoesNotExist:<br />
            return rc.NOT_HERE</p>
<p>    def read(self, request, id):<br />
        if not self.has_model():<br />
            return rc.NOT_IMPLEMENTED<br />
        try:<br />
            inst = self.model.objects.get(id=id)<br />
            return inst<br />
        except self.model.MultipleObjectsReturned:<br />
            return rc.DUPLICATE_ENTRY<br />
        except self.model.DoesNotExist:<br />
            return rc.NOT_HERE</p>
<p>Then one can test it with curl:<br />
delete the task with id=1:<br />
curl -i -H &#8220;Accept: application/json&#8221; -X DELETE  &#8216;http://localhost:8000/api/tasks/1&#8242;</p>
<p>read the task with id=2:<br />
curl -i -H &#8220;Accept: application/json&#8221; -X GET &#8216;http://localhost:8000/api/tasks/2&#8242;</p>
<p>Hope this helps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sourcefabric&#39;s Dev Blog &#8250; Django Software Stack</title>
		<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/comment-page-1/#comment-11162</link>
		<dc:creator>Sourcefabric&#39;s Dev Blog &#8250; Django Software Stack</dc:creator>
		<pubDate>Tue, 06 Jul 2010 14:48:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattdorn.com/?p=77#comment-11162</guid>
		<description>[...] Piston &#8211; It&#8217;s not magic though, you still need some coding for each model to hook it in: Overview and Tutorial [...]</description>
		<content:encoded><![CDATA[<p>[...] Piston &#8211; It&#8217;s not magic though, you still need some coding for each model to hook it in: Overview and Tutorial [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gerrit Kitts</title>
		<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/comment-page-1/#comment-11156</link>
		<dc:creator>Gerrit Kitts</dc:creator>
		<pubDate>Mon, 24 May 2010 01:59:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattdorn.com/?p=77#comment-11156</guid>
		<description>The reason for the 400 errors is that ExtJS is appending a charset onto the Content-Type field, which causes piston to not interpret the Content-Type correcly.  There is an open issue for it at http://bitbucket.org/jespern/django-piston/issue/121/content-type-is-not-being-split-against.  I was able to get the example working after I applied the patch and did an easy_install.</description>
		<content:encoded><![CDATA[<p>The reason for the 400 errors is that ExtJS is appending a charset onto the Content-Type field, which causes piston to not interpret the Content-Type correcly.  There is an open issue for it at <a href="http://bitbucket.org/jespern/django-piston/issue/121/content-type-is-not-being-split-against" rel="nofollow">http://bitbucket.org/jespern/django-piston/issue/121/content-type-is-not-being-split-against</a>.  I was able to get the example working after I applied the patch and did an easy_install.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yml</title>
		<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/comment-page-1/#comment-11149</link>
		<dc:creator>yml</dc:creator>
		<pubDate>Sat, 01 May 2010 00:38:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattdorn.com/?p=77#comment-11149</guid>
		<description>Hello,
In most of the case that come to my mind I want to restrict the POST, DELETE to authenticated users. Authenticated user in the django sense (@login_required). I would be really interested to hear from you how you enforce this restriction.
Thanks for sharing your experience with django-piston and Ext JS.
Regards,
--yml</description>
		<content:encoded><![CDATA[<p>Hello,<br />
In most of the case that come to my mind I want to restrict the POST, DELETE to authenticated users. Authenticated user in the django sense (@login_required). I would be really interested to hear from you how you enforce this restriction.<br />
Thanks for sharing your experience with django-piston and Ext JS.<br />
Regards,<br />
&#8211;yml</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mdorn</title>
		<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/comment-page-1/#comment-11144</link>
		<dc:creator>mdorn</dc:creator>
		<pubDate>Tue, 23 Mar 2010 23:39:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattdorn.com/?p=77#comment-11144</guid>
		<description>Sorry I haven&#039;t had time to look into this -- if anyone else has an idea, feel free to post here.  Otherwise, hopefully in a couple of weeks I&#039;ll get a chance to take a look.</description>
		<content:encoded><![CDATA[<p>Sorry I haven&#8217;t had time to look into this &#8212; if anyone else has an idea, feel free to post here.  Otherwise, hopefully in a couple of weeks I&#8217;ll get a chance to take a look.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jars</title>
		<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/comment-page-1/#comment-11142</link>
		<dc:creator>Jars</dc:creator>
		<pubDate>Tue, 16 Mar 2010 14:39:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattdorn.com/?p=77#comment-11142</guid>
		<description>I&#039;ve de same problem. Any idea?</description>
		<content:encoded><![CDATA[<p>I&#8217;ve de same problem. Any idea?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Hughes</title>
		<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/comment-page-1/#comment-11128</link>
		<dc:creator>Chris Hughes</dc:creator>
		<pubDate>Wed, 03 Feb 2010 22:07:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattdorn.com/?p=77#comment-11128</guid>
		<description>I haven&#039;t been able to get this demo to work with ExtJS 3.1. I get 400 BAD REQUEST error anytime I try a POST or PUT request. I was having the same problem with my own code, which is why I installed your demo in the first place. I can get all CRUD methods to work with cUrl technique, and with basic web form requests, but it stops working when I wire up ExtJS grid.

Any ideas? Thanks for any help you can offer.

--ch</description>
		<content:encoded><![CDATA[<p>I haven&#8217;t been able to get this demo to work with ExtJS 3.1. I get 400 BAD REQUEST error anytime I try a POST or PUT request. I was having the same problem with my own code, which is why I installed your demo in the first place. I can get all CRUD methods to work with cUrl technique, and with basic web form requests, but it stops working when I wire up ExtJS grid.</p>
<p>Any ideas? Thanks for any help you can offer.</p>
<p>&#8211;ch</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JAVH</title>
		<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/comment-page-1/#comment-11009</link>
		<dc:creator>JAVH</dc:creator>
		<pubDate>Sun, 27 Dec 2009 18:47:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattdorn.com/?p=77#comment-11009</guid>
		<description>Nice tutorial. Thanks a lot!</description>
		<content:encoded><![CDATA[<p>Nice tutorial. Thanks a lot!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: uberVU - social comments</title>
		<link>http://www.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/comment-page-1/#comment-11005</link>
		<dc:creator>uberVU - social comments</dc:creator>
		<pubDate>Wed, 23 Dec 2009 13:24:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattdorn.com/?p=77#comment-11005</guid>
		<description>&lt;strong&gt;Social comments and analytics for this post...&lt;/strong&gt;

This post was mentioned on Twitter by pnendick: &quot;RESTful Web apps with Django, Piston and Ext JS&quot; http://bit.ly/8mJ5Dw @aquamatt @garethr - any experience with piston? http://bit.ly/4n7oFP...</description>
		<content:encoded><![CDATA[<p><strong>Social comments and analytics for this post&#8230;</strong></p>
<p>This post was mentioned on Twitter by pnendick: &#8220;RESTful Web apps with Django, Piston and Ext JS&#8221; <a href="http://bit.ly/8mJ5Dw" rel="nofollow">http://bit.ly/8mJ5Dw</a> @aquamatt @garethr &#8211; any experience with piston? <a href="http://bit.ly/4n7oFP.." rel="nofollow">http://bit.ly/4n7oFP..</a>.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
