我有一个flask应用程序,我使用下面的代码将我编写的模块导入到forms.py文件中,它似乎可以正常工作。
sys.path.append('/home/user/lib/')
from mymodule import *
但是,当我尝试将其导入到route.py文件中时,它会失败。当我重新启动WSGI apache服务器时,它将不会加载,但是不幸的是,由于某种原因,我没有任何日志来说明原因。
下面是我的应用程序的布局。
flaskapp
├── config.py
├── forms.py
├── flaskapp.wsgi
├── __init__.py
├── routes.py
├── static
│ ├── search.js
│ └── sort.js
└── templates
├── base.html
├── certs_view.html
├── results.html
├── index.html
├── new_org.html
├── submit_csr.html
└── upload.html
我尝试了追加和插入方法来尝试导入模块,但没有成功。我什至创建了一个符号链接来尝试这种方式,但是当我尝试将WSGI服务器导入到route.py中时,WSGI服务器将不会加载。
初始化 .py
from flask import Flask
app = Flask(__name__)
import flaskapp.routes
import flaskapp.config
import flaskapp.forms
from flask_bootstrap import Bootstrap
from flaskapp.forms import RequestCSRForm
from flaskapp.forms import SubmitForm
from flaskapp.forms import UploadCertificate
from flaskapp.forms import CreateNewOrg
#from mymodule import *
bootstrap = Bootstrap(app)
app.config['SECRET_KEY'] = ''
app.config.from_object(config)
...
config.py
import os
from flaskapp import app
...
!这一个有效! forms.py
import sys, json
from flaskapp import app
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField, SubmitField, TextAreaField, SelectField
from wtforms.validators import DataRequired
sys.path.append('/home/user/lib/')
from mymodule import *
...
!这一个无效! route.py
import os, datetime, json, time, OpenSSL.crypto
from flaskapp import app
from flask import render_template, Flask, redirect, url_for, flash
from flask_bootstrap import Bootstrap
from flaskapp.forms import RequestCSRForm
from flaskapp.forms import SubmitForm
from flaskapp.forms import UploadCertificate
from flaskapp.forms import CreateNewOrg
from OpenSSL.crypto import load_certificate_request, FILETYPE_PEM
sys.path.append('/home/user/lib')
from mymodule import *
...
我希望能够从route.py的mymodule调用函数,或者理想情况下将它们全部调用...
答案 0 :(得分:0)
为什么不创建模块设置,然后在flaskapp的静脉中创建pip install mymodule
?