No seuraava ongelma on se, että mielestäni luotuani wsgi.conf tiedoston oikein, ja liitettyäni sen oikeaan paikkaan, ja käynnistettyäni apache2-palvelinpalvelun uudestaan sen jälkeen, että nyt ei tule enää mitään virheilmoitusta, mutta jinja2 ilmeisesti ei tuota oikein oikeita lopputuloksia.
Pistän nyt jakoon kaiken selitysten kanssa, niin joku voinee kommentoida, miten saan tuon puolisummain-simulaattorini toimimaan, niin voin alkaa siirtymään vaativampien lomakkeiden käsittelyyn.
app.py:
from flask import Flask,url_for, request,redener_template,redirect
app = Flask(__name__)
@app.route("/halfadder", methods=['GET', 'POST'])
def puolisummain(x,y):
m=0
s=1
if x+y > 1:
m=1
s=0
else:
m=0
s=1
return (m,s)
def index():
if request.method == 'POST':
result = app.puolisummain(request.form['xValue'],request.form['YValue'])
return render_template("/index.html", data=result)
Tuossa on pieni muutos alkuperäiseen, esim renrer_templaten käyttö, mutta koodissa ei liene virheitä.
Sitten Lomake.html
<!DOCTYPE html>
<html lang="fi">
<head>
<title>Halfadder -simulator</title>
<link rel="stylesheet" type="text/css" href="engineering.css">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1>Halfadder -simulator</h1>
<table colspan="2">
<td>
<img src="halfadder.png" alt="Puolisummain loogisilla piireillä.">
<td>
<div id="formStyle">
<form action = "http://127.0.0.1/halfadder" method = "POST">
<h2>Inputs (x and y):</h2>
<p><b>X</b> - 0<input type="range" min="0" max="1" value="0" class="slider" name="xValue">1</p>
<p><b>Y</b> - 0<input type="range" min="0" max="1" value="0" class="slider" name="YValue">1</p>
<p><input type = "submit" value = "Valmis!" /></p>
</form>
<p> id="descText">Halfadder contains two logical circuits attached together. There are two Inputs (x and y) valued for digits 0 or 1 and returning result contains result column value and memory column value. Combining halfadders together we can build sum - calculator for binary digits for ie. 8 halfadder combined together we can get result of 4 -digits binary value sum.
</td></td></tr>
</table>
<div id="tulokset"></div>
</body>
</html>
.wsgi
#! /usr/bin/python3.6
import logging
import sys
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, '/home/myUserName/ExampleFlask/')
from my_flask_app import app as application
application.secret_key = 'tonzOfFishes'
sitten .conf tiedosto polussa /etc/apache2/sites-available
<VirtualHost *:80>
# Add machine's IP address (use ifconfig command)
ServerName 127.0.0.1
# Give an alias to to start your website url with
WSGIScriptAlias /testFlask /home/myUsername/FlaskExample/my_flask_app.wsgi
<Directory /home/myUsername/FlaskExample/>
# set permissions as per apache2.conf file
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
tuolla polussa /var/www/html/halfadder index.html tiedosto näyttää seuraavanlaiselta
<!DOCTYPE html>
<html lang="fi">
<head>
<title>Halfadder -simulator</title>
<link rel="stylesheet" type="text/css" href="engineering.css">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
{% for k in result.items() %}
<p>{{k}}</p>
{% endfor %}
</body>
</html>
Nyt tulosteena tulee selaimessa seuraava tuloste:
{% for k in result.items() %}
{{k}}
{% endfor %}
Eli Jinja2 ei toimi oikein. Miten korjaan tämän.