def update(self): if app.config['SHOW_DATEARCHIVE'] == True: posts = Post.query.order_by(Post.create_date).all() posts.reverse() dateArchive = [] for ((year, month), item) in groupby(posts, getYearAndMonth): dateArchive.append([str(year) + u'年' + str(month) + u'月', len(list(item)), str(year) + "%02d"%month]) with app.app_context(): self.dateArchiveHTML = render_template('siderbar/datearchive.html', datearchive=dateArchive) else: self.dateArchiveHTML = "" if app.config['SHOW_CATEGORY'] == True: categories = Category.query.all() with app.app_context(): self.categoryHTML = render_template('siderbar/catelist.html', categories=categories) else: self.categoryHTML = "" if app.config['SHOW_TAG'] == True: tags = Tag.query.all() with app.app_context(): self.tagListHTML = render_template('siderbar/taglist.html', tags=tags) else: self.tagListHTML = "" with app.app_context(): self.siderbarHTML = render_template('siderbar/siderbar.html', category=self.categoryHTML, taglist=self.tagListHTML, datearchive=self.dateArchiveHTML)
def test_user_auth_token(self): expected_length = 40 expected_type = unicode user = User.query.one() with app.app_context(): token = user.get_auth_token() assert len(token) == expected_length, \ "Auth token invalid length. Was {0}. Expected {1}".format( len(token), expected_length) assert type(token) == expected_type, \ "User auth token invalid type. Was {0}. Expected {1}".format( type(token), expected_type)
''' Runs our blog engine. Register blueprints, configurations and initialize exetensions here. Clears cache before launching app.''' from flask.ext.uploads import configure_uploads, patch_request_class from blog import app, login_manager, md, admin, db, photos, cache from blog.posts.models import Post from blog.admin.posts import posts app.config.from_object('config') app.register_blueprint(posts) # initialize extensions configure_uploads(app, photos) patch_request_class(app, 32 * 1024 * 1024) login_manager.init_app(app) md.init_app(app) db.init_app(app) cache.init_app(app, config=app.config) with app.app_context(): cache.clear() if __name__ == '__main__': app.run(debug=True)
def send_async_email(app, msg): with app.app_context(): mail.send(msg)
from datetime import datetime from blog import app, db from models import BlogPost app.app_context().push() db.create_all() post1 = BlogPost(title='Welcome to PyLove!', content="Let's learn how to write web apps ;)", author='Hiromi Uehara', created=datetime(2018, 2, 7)) post2 = BlogPost(title='Example post', content='Example post content', author='Aaron Parks', created=datetime(2018, 2, 10)) db.session.add(post1) db.session.add(post2) db.session.commit() print('DB set up successfully!')