# @File : extensions.py # @Software: PyCharm from flask_bootstrap import Bootstrap from flask_ckeditor import CKEditor from flask_debugtoolbar import DebugToolbarExtension from flask_login import LoginManager from flask_mail import Mail from flask_moment import Moment from flask_sqlalchemy import SQLAlchemy from flask_wtf import CSRFProtect bootstrap = Bootstrap() db = SQLAlchemy() moment = Moment() ckeditor = CKEditor() mail = Mail() login_manager = LoginManager() csrf = CSRFProtect() toolbar = DebugToolbarExtension() @login_manager.user_loader def load_user(user_id): from bluelog.models import User user = User.query.get(int(user_id)) return user login_manager.login_view = 'auth.login' login_manager.login_message_category = 'warning'
from flask_ckeditor import CKEditor, CKEditorField from werkzeug.security import generate_password_hash, check_password_hash from werkzeug.utils import secure_filename #connection to database client = pymongo.MongoClient('mongodb://localhost/my_database', connect=False) db = client.my_database #you can change name to whatever name you want blog = db.blog # define folder for templates delete when deploying on pythonanywhere app = Flask(__name__, template_folder='template') auth = HTTPBasicAuth() app.config['CKEDITOR_SERVE_LOCAL'] = True app.config['CKEDITOR_HEIGHT'] = 800 app.secret_key = 'secret string' ckeditor = CKEditor(app) # users login and password users = {"admin": generate_password_hash("admin")} #search in collection and return link and name def get_search(search): ''' querying collection in the body of text returning tuple with link and name, in the case of not foud any result returns None ''' results = list( blog.find({'body': { "$regex": re.compile(search, re.IGNORECASE) }}))
from flask import Flask, render_template, request, flash, redirect, session, url_for from flask_bootstrap import Bootstrap from flask_mysqldb import MySQL from flask_ckeditor import CKEditor from werkzeug.security import generate_password_hash as passhash from werkzeug.security import check_password_hash as passcheck from yaml import load, FullLoader from os import urandom from datetime import datetime # App Enablings app = Flask(__name__) Bootstrap(app) mysql = MySQL(app) CKEditor(app) # MySQL Configuration db = load(open('db.yaml'), Loader=FullLoader) app.config['MYSQL_HOST'] = db['mysql_host'] app.config['MYSQL_USER'] = db['mysql_user'] app.config['MYSQL_PASSWORD'] = db['mysql_password'] app.config['MYSQL_DB'] = db['mysql_db'] app.config['SECRET_KEY'] = urandom(24) app.config['CURSORCLASS'] = 'CursorDict' # ============= ROUTES ============= # @app.route('/') def index(): cur = mysql.connection.cursor() userqeury = cur.execute("SELECT * FROM userQuery") if userqeury > 0: u_queries = cur.fetchall()