VirtualHost
<VirtualHost *:80>
ServerName mossymob.tk
DocumentRoot /var/www/html
WSGIDaemonProcess firstapp user=apache group=apache python-home=/home/venv_env/python37
WSGIScriptAlias /firstapp /var/www/html/firstapp/app.wsgi
<Directory /var/www/html/firstapp>
WSGIProcessGroup firstapp
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
WSGIDaemonProcess secondapp user=apache group=apache python-home=/home/venv_env/python37
WSGIScriptAlias /secondapp /var/www/html/secondapp/app.wsgi
<Directory /var/www/html/secondapp>
WSGIProcessGroup secondapp
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
*WSGIScript Aliasの第一引数は、app.wsgiファイルを配置したファイルまでのディレクトリを、ドキュメント・ディレクトリ配下の部分を書く。
1. app.py
@app.route('/python', methods=['GET', 'POST']) <- インデックスルートだけだとセッションが変わらない。
def index():
if int(session["current_question"]) in xxxxxx
redirect(url_for('index'))
return render_template("end_summary.html")
return render_template('main.html')
@app.route('/check',methods=['GET','POST'])
def check_answer():
return render_template('check.html')
2. main.html
<button type="submit" formaction="/firstapp/python" >Answer</button>
<button type="submit" formaction="/firstapp/check" >Hint</button>
*PCのバーチャル環境でテストしているように、通常の/pythonのようにTargetのrouteの第一引数だけ記述すると、ボタンをクリックするとjump先のURLが、ドキュメント・ルート/pyhonとなってしまい、404未検出というエラーになる。必ず、ドキュメントルート以下の全ディレクトリ・ルートを記載する。
3.check.html
<input type='submit' value='問題に戻る' formaction="/firstapp//python" />
4. end_summary.html
<button type="submit" id="r7" name='startover' formaction="/firstapp//python" class="btn btn-outline-success btn-sm m-1" value='shuffle' >
全ての処理は、
/firstapp/python で処理される。
0 件のコメント:
コメントを投稿