Learn more about computerscience with this collection
Understanding machine learning models
Improving data analysis and decision-making
How Google uses logic in machine learning
This article is recommended to be read having some prerequisites. You should be familiar with HTTP Methods and some basics regarding Django.
If that's not your case, please check the resources below before proceeding with the article:
1
33 reads
Tastypie is a framework for Django that helps programmers to develop RESTful APIs on top of their already existing projects.
1
19 reads
As a general rule, each group of endpoints is seen as a resource. When I say a group of endpoints I mean a collection of HTTP methods on a specific route (e.g. GET, POST and DELETE on /api/entity).
These resources have a lot of features, which include allowing you to access the endpoint with specific HTTP methods, permitting access only if you are authenticated, paginating the results etc.
1
14 reads
In Tastypie, there are 3 types of endpoints:
List endpoints return a list of objects (as the name implies) and it looks like `host_address/api/entity`.
Detail endpoints return a single instance of an object and it looks similar to the list endpoint, except for the fact that it expects a path param, the ID of the object, to identify the instance that will be returned (e.g. `/api/entity/[id]`).
Custom endpoints are routes made by developers to solve any use-cases different from the default ones. They don't have a specific format, offering devs more freedom.
1
12 reads
Each endpoint needs a function to manipulate and return the data. But these functions have a standard format
1
13 reads
Now let's focus on what's the steps for a request to be fulfilled on a Tastypie endpoint.
When a request is received from a client, Django checks for any existing routes inside `urlpatterns`, the variable with all the available routes inside the project.
If a pattern was found, Django will call the associated view (function or class) with the following parameters:
If the URL didn't match any pattern, then Django will take care of it via an appropriate error handling view.
1
6 reads
Once Django redirects the request to a Tastypie resource, it checks for the available URLs and lets Tastypie do the rest.
Assuming the URL is`host-domain/api/v1/entity/` (which is a list view):
If the view was matched, `Resource.wrap_view('dispatch_list')` is called. The wrap_view method inside the Resource takes care of basic error handling and serialisation for the errors. The 'dispatch_list' parameter means that Resource.dispatch_list will be called next (a thin wrapper around the dispatch method).
1
8 reads
The dispatch method makes sure the followings are fulfilled:
1
11 reads
The response is generated using the specific class method of the resource. If it's a default endpoint, the methods look like [HTTP_method]_[view_type] (e.g. get_list, post_detail) and if it's a custom endpoint, the method's name is the defined route for the endpoint (e.g. add_more_entries)
1
12 reads
The following actions will be done when calling the get_list:
Observation: For POST/PUT, there will be an extra step, the hydrate cycle, that will take the request payload and convert it in raw data, for DB storage
1
11 reads
CURATED BY
My takes after reading the Tastypie documentation, regarding how a request is handled inside an endpoint
“
More like this
1 idea
Foreign Key on Models | Django documentation
docs.djangoproject.com
6 ideas
Save vs Update in Django
helmut.dev
11 ideas
Explore the World’s
Best Ideas
Save ideas for later reading, for personalized stashes, or for remembering it later.
Start
31 ideas
Start
44 ideas
# Personal Growth
Take Your Ideas
Anywhere
Just press play and we take care of the words.
No Internet access? No problem. Within the mobile app, all your ideas are available, even when offline.
Ideas for your next work project? Quotes that inspire you? Put them in the right place so you never lose them.
Start
47 ideas
Start
75 ideas
My Stashes
Join
2 Million Stashers
4.8
5,740 Reviews
App Store
4.7
72,690 Reviews
Google Play
Shankul Varada
Best app ever! You heard it right. This app has helped me get back on my quest to get things done while equipping myself with knowledge everyday.
“
Ashley Anthony
This app is LOADED with RELEVANT, HELPFUL, AND EDUCATIONAL material. It is creatively intellectual, yet minimal enough to not overstimulate and create a learning block. I am exceptionally impressed with this app!
“
Sean Green
Great interesting short snippets of informative articles. Highly recommended to anyone who loves information and lacks patience.
“
samz905
Don’t look further if you love learning new things. A refreshing concept that provides quick ideas for busy thought leaders.
“
Ghazala Begum
Even five minutes a day will improve your thinking. I've come across new ideas and learnt to improve existing ways to become more motivated, confident and happier.
“
Giovanna Scalzone
Brilliant. It feels fresh and encouraging. So many interesting pieces of information that are just enough to absorb and apply. So happy I found this.
“
Laetitia Berton
I have only been using it for a few days now, but I have found answers to questions I had never consciously formulated, or to problems I face everyday at work or at home. I wish I had found this earlier, highly recommended!
“
Jamyson Haug
Great for quick bits of information and interesting ideas around whatever topics you are interested in. Visually, it looks great as well.
“
Read & Learn
20x Faster
without
deepstash
with
deepstash
with
deepstash
Access to 200,000+ ideas
—
Access to the mobile app
—
Unlimited idea saving & library
—
—
Unlimited history
—
—
Unlimited listening to ideas
—
—
Downloading & offline access
—
—
Personalized recommendations
—
—
Supercharge your mind with one idea per day
Enter your email and spend 1 minute every day to learn something new.
I agree to receive email updates