সুতরাং, আমি বিশ্বাস করি যে এর একটি বৈধ উত্তর হ'ল: ডেভলপমেন্ট সমাপ্ত হওয়ার পরে ব্যবহার করা প্রকৃত সার্ভার অ্যাপ্লিকেশনটিতে উপসর্গটি কনফিগার করা উচিত। অ্যাপাচি, এনগিনেক্স ইত্যাদি
তবে, আপনি যদি ডিবাগ-এ ফ্ল্যাশ অ্যাপ চালাওয়ার সময় বিকাশের সময় এটি কাজ করতে চান তবে এই সূচনাটি একবার দেখুন ।
ফ্লাস্কের DispatcherMiddleware
উদ্ধার!
আমি এখানে উত্তরসূরির জন্য কোডটি অনুলিপি করব:
"Serve a Flask app on a sub-url during localhost development."
from flask import Flask
APPLICATION_ROOT = '/spam'
app = Flask(__name__)
app.config.from_object(__name__)
@app.route('/')
def index():
return 'Hello, world!'
if __name__ == '__main__':
from werkzeug.serving import run_simple
from werkzeug.wsgi import DispatcherMiddleware
app.config['DEBUG'] = True
application = DispatcherMiddleware(Flask('dummy_app'), {
app.config['APPLICATION_ROOT']: app,
})
run_simple('localhost', 5000, application, use_reloader=True)
এখন, উপরের কোডটি স্ট্যান্ড্যালোন ফ্লাস্ক অ্যাপ হিসাবে চালানোর সময় http://localhost:5000/spam/
প্রদর্শিত হবে Hello, world!
।
অন্য উত্তরের মন্তব্যে আমি প্রকাশ করেছি যে আমি এরকম কিছু করতে চাই:
from flask import Flask, Blueprint
from some_submodule.flask import module_blueprint
app = Flask(__name__)
app.config['APPLICATION_ROOT'] = '/api'
app.register_blueprint(module_blueprint, url_prefix='/some_submodule')
app.run()
DispatcherMiddleware
আমার স্বীকৃত উদাহরণটিতে প্রয়োগ করা:
from flask import Flask, Blueprint
from flask.serving import run_simple
from flask.wsgi import DispatcherMiddleware
from some_submodule.flask import module_blueprint
app = Flask(__name__)
app.config['APPLICATION_ROOT'] = '/api'
app.register_blueprint(module_blueprint, url_prefix='/some_submodule')
application = DispatcherMiddleware(Flask('dummy_app'), {
app.config['APPLICATION_ROOT']: app
})
run_simple('localhost', 5000, application, use_reloader=True)
flask.Flask#create_url_adapter
এবংwerkzeug.routing.Map#bind_to_environ
এটা পছন্দ দেখে মনে হচ্ছে উচিত কাজ - কিভাবে আপনি কোড চলমান করছিলে? (url_for
প্রত্যাশিত মানটি ফেরত দেওয়ার জন্য অ্যাপ্লিকেশনটিকে ডাব্লুএসজিআই পরিবেশে সাব-পাথের উপরে আসলে মাউন্ট করা দরকার ))