Browse Source

Adding login form

pull/1/head
Ravi Shah 5 years ago
parent
commit
90c5d47a40
  1. 16
      garage_door_script.py
  2. 23
      templates/login.html

16
garage_door_script.py

@ -3,7 +3,7 @@
# Load libraries # Load libraries
import RPi.GPIO as GPIO #Import RPi GPIO library import RPi.GPIO as GPIO #Import RPi GPIO library
import time #Import time import time #Import time
from flask import Flask #Import flask web server
from flask import Flask, make_response, request, render_template, redirect, url_for #Import flask web server and additional components
app = Flask(__name__) app = Flask(__name__)
# Set up the GPIO pins # Set up the GPIO pins
@ -16,7 +16,8 @@ GPIO.setup(11, GPIO.OUT)
GPIO.output(7, True) GPIO.output(7, True)
GPIO.output(11, True) GPIO.output(11, True)
@app.route('/') #root directory of webserver
# Route for the main page
@app.route('/')
def index(): def index():
GPIO.setup(PIN_TRIG, GPIO.OUT) #Setup the gpio trigger pin as input GPIO.setup(PIN_TRIG, GPIO.OUT) #Setup the gpio trigger pin as input
GPIO.setup(PIN_ECHO, GPIO.IN) #Setup the gpio echo pin as output GPIO.setup(PIN_ECHO, GPIO.IN) #Setup the gpio echo pin as output
@ -36,5 +37,16 @@ def index():
else: else:
return 'The garage is open.' return 'The garage is open.'
# Route for the login page
@app.route('/login', methods=['GET', 'POST'])
def login():
error = None
if request.method == 'POST':
if request.form['username'] != 'admin' or request.form['password'] != 'admin':
error = 'Invalid Credentials. Please try again.'
else:
return redirect(url_for('home'))
return render_template('login.html', error=error)
if __name__ == '__main__': if __name__ == '__main__':
app.run(host='0.0.0.0') #Run the webserver app.run(host='0.0.0.0') #Run the webserver

23
templates/login.html

@ -0,0 +1,23 @@
<html>
<head>
<title>Flask Intro - login page</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="static/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
<body>
<div class="container">
<h1>Please login</h1>
<br>
<form action="" method="post">
<input type="text" placeholder="Username" name="username" value="{{
request.form.username }}">
<input type="password" placeholder="Password" name="password" value="{{
request.form.password }}">
<input class="btn btn-default" type="submit" value="Login">
</form>
{% if error %}
<p class="error"><strong>Error:</strong> {{ error }}
{% endif %}
</div>
</body>
</html>
Loading…
Cancel
Save