Naime imam jedan problem sa svojom web aplikacijom koji ne mogu rijesiti a nije mi jasno u cemu je problem!
Naime imam jedan jednostavan app koji ce iscitati podatke iz forme, napraviti izracun i ispisati ga na ekran. Međutim, kad ga pokrenem, iz nekog razloga totalno preskoči if request.method == 'POST' iako je metoda POST napravljena u formi.
Evo, html file i py file:
HTML:
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<title>Simple calculator</title>
<style>
@import url('https://fonts.googleapis.com/css?family=Merriweather');
@import url('https://fonts.googleapis.com/css?family=Lobster');
@import url('https://fonts.googleapis.com/css?family=Roboto+Slab');
div.content
{
position: absolute;
margin: auto;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 90%;
}
div.calc{
position: fixed;
top: 50%;
left: 50%;
margin-top: -50px;
margin-left: -100px;
background-color: #D7D7D7;
height: 20%;
}
div.app:hover{
background-color: #C0C0C0;
color:white;
cursor:pointer;
}
a.app{
color:black;
}
div.list{
position: relative;
width: 100%;
height: 10%;
float: left;
margin-left: 30px;
text-align: left;
}
p.list{
font-family: 'Roboto Slab', serif;
font-size: 48px;
}
@media only screen and (max-width: 768px) {
/* Za telefone: */
div.new1 {
width: 100%;
height:50%;
margin-left:0;
margin-top:20px;
}
}
</style>
</head>
<body>
<div class="content">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#" style="color:white; font-family: 'Lobster', cursive;">Minitools</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">News</a></li>
</ul>
</div>
</nav>
<div class="calc">
<form action="/simpcalc" method="POST">
First Number<input type="number" name="number1">
<br/>
Second Number: <input type="number" name="number2">
</br>
Operation:<select name="operation">
<option value="add" selected>Addition</option>
<option value="sub">Subtraction</option>
<option value="mult">Multiplication</option>
<option value="div">Division</option>
</select>
</br>
<input type="submit">
</form>
</div>
</div>
</body>
</html>
Python/Flask:
from flask import Flask
from flask import render_template
from flask import request
import sqlite3
app = Flask(__name__)
app.config["DEBUG"] = True
@app.route("/", methods=['POST', 'GET'])
def index():
return render_template("naslovna.html")
@app.route("/mathsict", methods=['POST', 'GET'])
def math():
return render_template("MathsICT.html")
@app.route("/artdesign", methods=['POST', 'GET'])
def art():
return render_template("ArtDesign.html")
@app.route("/programming", methods=['POST', 'GET'])
def program():
return render_template("Programming.html")
@app.route("/rest", methods=['POST', 'GET'])
def rest():
return render_template("Programming.html")
#Aplikacije unutar maths/ict sekcije
@app.route("/simpcalc", methods=['POST', 'GET'])
def calculator():
result = 0
if request.method == "POST":
num1 = request.form['number1']
num2 = request.form['number2']
operation = request.form['operation']
if operation == "add":
result = int(num1) + int(num2)
elif operation == "sub":
result = int(num1) - int(num2)
elif operation == "mult":
result = int(num1) * int(num2)
elif operation == "div":
result = int(num1) / int(num2)
return result
else:
return "Error"
if __name__ == "__main__":
app.run()
Zanemarite manjak indentacije, to je problem do kopiranja, ne mog koda