8👍
The reason it’s done as a single view method is that you’re usually rendering some kind of page content as context for the form you’re about to submit.
Anyway, my reason for replying it this: from your sample URLConf there it looks like you’re building a REST webservice with Django — if this is the case, you might really benefit from using the rather good django-piston to automatically create your resources/collections. It uses class-based handlers that automatically redirect to the appropriate method (get-books, update-books, create-books in your case) based on the HTTP method in the request
UPDATE (four years later!) while django-piston still exists (and works), Django REST Framework is a much more sophisticated, documented and extended choice these days.
1👍
Standard Django doesn’t have any mechanism for differentiating request methods besides what you used in your second snippet:
if request.method == 'POST':
...
However, there are third-party apps and snippets that attempt to make method handling a little cleaner using class based views. See, for example, this snippet (found from this SO question about class views).
Personally I’m not so sure this is a good idea. The standard Django method is so… standard… that I think this introduces extra confusion and complexity where it really isn’t needed.
- How to reload new update in Django project with Apache, mod_wsgi?
- How to reset virtualenv and pip?
- Django + celery – How do I set up a crontab schedule for celery in my django app?
- Why is serving static files insecure
- How to set up database for Django app on Heroku?