无法从 Flask 项目中的 __init__.pt 文件导入应用程序以使用 app.config
Can not import app from __init__.pt file in flask project to use app.config
我有一个带有 init.py 的烧瓶应用程序。在 create_app 函数中,我设置了 app.config['UPLOAD_FOLDER'].
我需要将应用程序导入到我的 post.py 文件中,该文件具有将从中上传和下载文件的路径。我尝试的每种导入类型都遇到问题。
初始化.py:
from flask import Flask, session, redirect, url_for
from bson.objectid import ObjectId
from pymongo import MongoClient
from os import path, mkdir
from flask_login import LoginManager
client = MongoClient()
db = client.Contractor
def create_app():
app = Flask(__name__)
app.config['SECRET_KEY'] = ''
upload_folder = 'uploads/'
if not path.exists(upload_folder):
mkdir(upload_folder)
from .views import views
from .auth import auth
from .post import post
app.config['MAX_CONTENT_LENGTH'] = 1 * 1024 * 1024
app.config['UPLOAD_FOLDER'] = upload_folder
app.register_blueprint(views, url_prefix='/')
app.register_blueprint(auth, url_prefix='/auth/')
app.register_blueprint(post, url_prefix='/post/')
return app
post.py:
from flask import Blueprint, render_template, request, flash, redirect, url_for, session
from datetime import datetime
from werkzeug.security import generate_password_hash, check_password_hash
from werkzeug.utils import secure_filename
from . import db
from bson.objectid import ObjectId
from os import path, mkdir
@post.route('/upload', methods=['GET', 'POST'])
def create_post():
if 'username' in session:
current_user = db.users.find_one({ 'username' : session['username']})
if request.method == 'POST':
data = request.form
photo = request.files['photo']
print(photo)
---->photo.save(path.join(app.config['UPLOAD_FOLDER'], secure_filename(photo.filename)))
caption = data.get('caption')
location = data.get('location')
如何从 init.py
导入应用程序
我想你可以在导入数据库的地方导入app
。
from . import app, db
我有一个带有 init.py 的烧瓶应用程序。在 create_app 函数中,我设置了 app.config['UPLOAD_FOLDER'].
我需要将应用程序导入到我的 post.py 文件中,该文件具有将从中上传和下载文件的路径。我尝试的每种导入类型都遇到问题。
初始化.py:
from flask import Flask, session, redirect, url_for
from bson.objectid import ObjectId
from pymongo import MongoClient
from os import path, mkdir
from flask_login import LoginManager
client = MongoClient()
db = client.Contractor
def create_app():
app = Flask(__name__)
app.config['SECRET_KEY'] = ''
upload_folder = 'uploads/'
if not path.exists(upload_folder):
mkdir(upload_folder)
from .views import views
from .auth import auth
from .post import post
app.config['MAX_CONTENT_LENGTH'] = 1 * 1024 * 1024
app.config['UPLOAD_FOLDER'] = upload_folder
app.register_blueprint(views, url_prefix='/')
app.register_blueprint(auth, url_prefix='/auth/')
app.register_blueprint(post, url_prefix='/post/')
return app
post.py:
from flask import Blueprint, render_template, request, flash, redirect, url_for, session
from datetime import datetime
from werkzeug.security import generate_password_hash, check_password_hash
from werkzeug.utils import secure_filename
from . import db
from bson.objectid import ObjectId
from os import path, mkdir
@post.route('/upload', methods=['GET', 'POST'])
def create_post():
if 'username' in session:
current_user = db.users.find_one({ 'username' : session['username']})
if request.method == 'POST':
data = request.form
photo = request.files['photo']
print(photo)
---->photo.save(path.join(app.config['UPLOAD_FOLDER'], secure_filename(photo.filename)))
caption = data.get('caption')
location = data.get('location')
如何从 init.py
导入应用程序我想你可以在导入数据库的地方导入app
。
from . import app, db