いつもお世話になっております。
XREAサーバーで動作していたFlaskをLOLIPOPへ引越させようとしています。
ディレクトリ構造は以下の通りです。
root
┠ index.py
┠ server.py
┠ .htaccess
┠ (フォルダ)A
┃ ┠A.py
┃ ┗ templates
┃ ....... ┗(フォルダ)A
┃ ....... ...... ┗ index.html
┠ (フォルダ)B
┃ ┠B.py
┃ ┗ templates
┃ ....... ┗(フォルダ)B
┃ ....... ...... ┗ index.html
XREAでは、ルートディレクトリに上記のように配置することで、
http://(サーバーから与えられた自分のページのURL)/A
と入力すればフォルダAに入ったindex.htmlが表示されました。
ところが、LOLIPOPですと、上記のように配置した場合、
http://(サーバーから与えられた自分のページのURL)/index.py/A
としなければフォルダAに入ったindex.htmlを表示させることができません。
このURLに入っている「index.py」を消したくprefixの部分を変更する等あれこれやってみましたがどうしてもindex.pyが消えません。
LOLIPOPへ移したコードは以下の通りです。改行コード、シバン等は見直し、表示はできています。
index.py
1#!/usr/local/bin/python3.7 2# coding: utf-8 3 4import cgitb 5cgitb.enable() 6 7from wsgiref.handlers import CGIHandler 8from server import app 9CGIHandler().run(app)
server.py
1#!/usr/local/bin/python3.7 2# -*- coding: utf-8 -*- 3 4import (いろいろ) 5 6# 分割したモジュールをインポート 7from A import A_app 8from B import B_app 9 10# Flask使用準備 11app = Flask(__name__) 12 13## 分割先のコントローラー(Blueprint)を登録 14app.register_blueprint(A_app, url_prefix='/A') 15app.register_blueprint(B_app, url_prefix='/B') 16 17if __name__ == '__main__': 18 app.run(debug=True)
A.py
1#!/usr/local/bin/python3.7 2# coding: utf-8 3 4from flask import Flask, render_template, url_for, request, redirect 5 6# Blueprintをimportする 7from flask import Blueprint 8 9# 関数名(index)でBlueprintオブジェクトを生成 10A_app = Blueprint('A', __name__,template_folder='templates', static_folder='static') 11 12# ルートページ 13@A_app.route('/') 14def index(): 15 return render_template('A/index.html')
どのようにすればURL内のindex.pyをなくせるか、何卒ご教授下さいませ。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/20 01:22
2022/04/20 01:41