''' 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)
@blueprint.route('/<int:id>/delete', methods=('GET', 'POST')) def delete(id): if not g.user: abort(403) post = get_post(id) if request.method == 'GET': session['token'] = create_token() return render_template('posts/delete.html', post=post) if not validate_token(): return redirect(url_for('posts.delete', id=post.id)) if request.form['action'] != 'delete': return redirect(url_for('posts.show', id=post.id)) app.logger.info('Deleting post %d', post.id) for comment in post.comments: db.session.delete(comment) db.session.delete(post) db.session.commit() flash('Post deleted!', 'success') return redirect(url_for('index')) app.register_blueprint(blueprint)
class Comment(db.Base): __tablename__ = 'comments' id = Column(Integer, primary_key=True) content = Column(String) _creation_time = Column(String) username = Column(String) user_id = Column(Integer, ForeignKey('users.id')) user = relationship('User', backref=backref('comments')) post_id = Column(Integer, ForeignKey('posts.id')) post = relationship('Post', backref=backref('comments')) def __init__(self, content, post, user=None, username=None): self.content = content self.post = post self.user = user self.username = username self._creation_time = datetime.utcnow() @property def creation_time(self): if not isinstance(self._creation_time, unicode): return self._creation_time return datetime.strptime(self._creation_time, '%Y-%m-%d %H:%M:%S.%f') from views import blueprint app.register_blueprint(blueprint, url_prefix='/comments')
db.session.commit() app.logger.info('Tag created: %d', tag.id) flash('Tag created successfully.', 'success') return redirect(url_for('tags.show', id=tag.id)) @blueprint.route('/<int:id>/delete', methods=('GET', 'POST')) def delete(id): if not g.user: abort(403) tag = get_tag(id) if request.method == 'GET': session['token'] = create_token() return render_template('tags/delete.html', tag=tag) if not validate_token(): return redirect(url_for('tags.delete', id=tag.id)) if request.form['action'] != 'delete': return redirect(url_for('tags.show', id=tag.id)) app.logger.info('Deleting tag %d', tag.id) db.session.delete(tag) db.session.commit() flash('Tag deleted!', 'success') return redirect(url_for('index')) app.register_blueprint(blueprint, url_prefix='/tags')
# -*- coding: utf-8 -*- __author__ = 'Administrator' from blog import app import admin import views from entries.blueprint import entries app.register_blueprint(entries, url_prefix='/entries') if __name__ == '__main__': app.run()
from flask import Flask from flask_login import current_user from blog.Routes.index import index from blog.Routes.auth import auth_bp from blog.Routes.manage import manage from blog.Routes.profile import profile from blog import app, db, login_manager from blog.Models.User import User # Blueprints app.register_blueprint(index) # Post app.register_blueprint(auth_bp) # Login and Signup app.register_blueprint(manage) app.register_blueprint(profile) @login_manager.user_loader def load_user(user_id): return User.query.get(user_id) if __name__ == '__main__': db.create_all() app.run(port=4000, debug=True)
from blog import app, config, routes app.register_blueprint(routes.app) if __name__ == '__main__': app.run(host=config.host, port=config.port, debug=config.debug)