Search
 
SCRIPT & CODE EXAMPLE
 

PYTHON

flask marshmallow

pip install flask-marshmallow
Comment

flask marshmallow

@app.route("/api/users/")
def users():
    all_users = User.all()
    return users_schema.dump(all_users)


@app.route("/api/users/<id>")
def user_detail(id):
    user = User.get(id)
    return user_schema.dump(user)


# {
#     "email": "fred@queen.com",
#     "date_created": "Fri, 25 Apr 2014 06:02:56 -0000",
#     "_links": {
#         "self": "/api/users/42",
#         "collection": "/api/users/"
#     }
# }
Comment

flask marshmallow

from flask import Flask
from flask_marshmallow import Marshmallow

app = Flask(__name__)
ma = Marshmallow(app)
Comment

flask marshmallow

from your_orm import Model, Column, Integer, String, DateTime


class User(Model):
    email = Column(String)
    password = Column(String)
    date_created = Column(DateTime, auto_now_add=True)
Comment

flask marshmallow

class UserSchema(ma.Schema):
    class Meta:
        # Fields to expose
        fields = ("email", "date_created", "_links")

    # Smart hyperlinking
    _links = ma.Hyperlinks(
        {
            "self": ma.URLFor("user_detail", values=dict(id="<id>")),
            "collection": ma.URLFor("users"),
        }
    )


user_schema = UserSchema()
users_schema = UserSchema(many=True)
Comment

flask marshmallow

from datetime import date
from pprint import pprint

from marshmallow import Schema, fields


class ArtistSchema(Schema):
    name = fields.Str()


class AlbumSchema(Schema):
    title = fields.Str()
    release_date = fields.Date()
    artist = fields.Nested(ArtistSchema())


bowie = dict(name="David Bowie")
album = dict(artist=bowie, title="Hunky Dory", release_date=date(1971, 12, 17))

schema = AlbumSchema()
result = schema.dump(album)
pprint(result, indent=2)
# { 'artist': {'name': 'David Bowie'},
#   'release_date': '1971-12-17',
#   'title': 'Hunky Dory'}
Comment

PREVIOUS NEXT
Code Example
Python :: how to add headings to data in pandas 
Python :: django import timezone 
Python :: calcolatrice online 
Python :: pathlib recursive search 
Python :: scientific notation to decimal python 
Python :: pandas read excel nan 
Python :: pygame.transform.scale 
Python :: jupyter notebook extensions 
Python :: how to set gui position tkinter python 
Python :: python list rotation 
Python :: python remove during iteration 
Python :: django.db.utils.OperationalError: no such table: 
Python :: how to change the rate of speech in pyttsx3 
Python :: actual keystroke python 
Python :: pandas drop rows with empty list 
Python :: os.getlogin() python 
Python :: Why do we use graphs? 
Python :: create django user command line 
Python :: how to get the year in python 
Python :: backwards loop over list in python 
Python :: pandas read_csv multiple separator 
Python :: display entire row pandas 
Python :: how to find how many processors you have with python 
Python :: python check if image is corrupted 
Python :: how to split string with comma in python 
Python :: print all alphabets from a to z in python 
Python :: number 1 
Python :: debugar python 
Python :: split list in 3 part 
Python :: finding the format of an image in cv2 
ADD CONTENT
Topic
Content
Source link
Name
2+1 =