I'm using django-piston in my app, and it's incredible. You can use XML in your RESTful API, but if you like to user another emitter as JSON, Pickle... you can do at-the-moment! Incredible!
On Tue, Sep 21, 2010 at 11:11, vikalp sahni <vikalpsa...@gmail.com> wrote: > Hi, > > You might want to have a look at django-piston. > > http://bitbucket.org/jespern/django-piston/wiki/Home > > Its a nice project to give rest full interface to your models. > > And for some specific logic also you can tweak the handlers to get desired > results. > > Regards, > //Vikalp > > > On Tue, Sep 21, 2010 at 11:09 AM, Brendon <brendon.j.co...@gmail.com>wrote: > >> Hi all, >> >> I want to use DJango to implement an XML based RESTful API and a >> website together using DJango. I am wondering if anyone here is aware >> of any tutorials on ways of achieving this in DJango without >> duplicating too much code? >> >> >> Basically what I want to achieve is to use the same core logic for >> both the website and the API and just have different presentation >> layers for the two systems. I have not seen any tutorials or the like >> on doing this sort of thing and was wondering if people here have >> suggestions on best approaches or tutorials that might show good ways >> to structure this. >> >> The idea is that all interaction using the API uses XML. The POST data >> sent to the server and responses from the server are all using an XML >> schema that we have designed for our application. All interaction with >> the website is the same but uses normal web forms etc for the >> interface of the presentation layer. >> >> Example API: >> * GET : https://mywebsite/api/rooms/ : List available rooms, returns >> XML with a list of Room ID's >> * POST : https://mywebsite/api/room/ : Create a new room, raw POST >> data is XML with the parameters required to create a room, on success >> returns a Room ID >> * GET : https://mywebsite/api/room/<room-id>/ : Retrieves details >> about an existing room >> * POST : https://mywebsite/api/room/<room-id>/ : Modifies details for >> an existing room >> * DELETE : https://mywebsite/api/room/<room-id>/ : Delete a room >> >> Now, on the website side of things I want to do exactly the same but >> as part of a a nice HTML site (with menus for navigation, nice graphs >> to display relevant data etc). >> >> Example Web: >> * GET : https://mywebsite/web/rooms/ : Displays a page with a list >> of links to available Rooms. >> * GET : https://mywebsite/web/room/ : Displays a page with a form >> requesting input of all necessary data to create a new room. >> * POST : https://mywebsite/web/room/ : Create a new room. POST data >> comes from form displayed previously (on error redisplays form). On >> success redirects the user to the details page for that room. >> * GET : https://mywebsite/web/room/<room-id>/ : Displays details >> about an existing room and provides it in a form that can be used to >> change the data with a POST >> * POST : https://mywebsite/web/room/<room-id>/ : Modifies details for >> an existing room >> * DELETE : https://mywebsite/web/room/<room-id>/ : Delete a room >> >> >> Thanks, >> Brendon. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To post to this group, send email to django-us...@googlegroups.com. >> To unsubscribe from this group, send email to >> django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/django-users?hl=en. >> >> > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-us...@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > -- @agonzalezro <http://twitter.com/agonzalezro> Please, don't send me files with extensions: .doc, .docx, .xls, .xlsx, .ppt and/or .pptx -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.