app.api_1_0.movies 源代码

from flask import jsonify, request, g, abort, url_for, current_app
from .. import db
from ..models import Movie, Permission
from . import api
from .decorators import permission_required
from .errors import forbidden


@api.route('/movies/')
[文档]def get_movies(): """ .. note:: 获取所有 movies 1. 获取数据库中的所有 movies 数据 2. 分页 3. 响应格式为 json """ count = current_app.config['FLASKY_JSONS_PER_PAGE'] page = request.args.get('page', 1, type=int) pagination = Movie.query.paginate( page, per_page=count, error_out=False) movies = pagination.items prev = None if pagination.has_prev: prev = url_for('api.get_movies', page=page-1, _external=True) next = None if pagination.has_next: next = url_for('api.get_movies', page=page+1, _external=True) return jsonify({ 'count': count, 'start': (page - 1) * int(count), 'total': pagination.total, 'prev': prev, 'next': next, 'movies': [movie.to_json() for movie in movies] })
@api.route('/movies/<int:id>')
[文档]def get_movie(id): """ .. note:: 获取指定的 movie 资源, 响应格式为 json """ movie = Movie.query.get_or_404(id) return jsonify(movie.to_json())