Accept
application/json
application/pdf
application/xml
audio/mpeg
audio/wav
image/png
image/jpeg
image/gif
text/plain
text/html
video/ogg
video/mp4
/modules/5062/
POST
/modules
id
content-type
GET
PUT
DELETE
$ python3 -m pip install Flask-Mail Flask-SQLAlchemy Flask-WTF
$ python3 -m pip install Flask
from
import
from flask import Flask
Flask
app = Flask(__name__)
def hello()
@app.route('/')
app.run()
host
port
debug
options
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "Hello 5062CEM" if __name__ == '__main__': app.run()
templates
index.html
{{
}}
{{ module }}
render_template
from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template("index.html", module="5062CEM") if __name__ == '__main__': app.run()
<html> <head> <title>{{ module }}</title> <style> body { background-color: magenta; } </style> </head> <body> Hello {{ module }}! </body> </html>
from flask import Flask, render_template, request from flask_wtf import Form from wtforms import StringField, IntegerField, SubmitField app = Flask(__name__) app.secret_key = 'potato' class SampleForm(Form): moduleCode = IntegerField("Code") moduleName = StringField("Name") school = StringField("School") submit = SubmitField("Send") @app.route('/', methods=['GET', 'POST']) def index(): form = SampleForm() if request.method == 'POST': return f"Form Posted Successfully: Module Name = {request.form.get('moduleName')}" return render_template("forms.html", title="An Example of Forms", form=form) if __name__ == '__main__': app.run(debug=True)
<html> <head> <title>{{ title }}</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous"> </head> <body> <form action="{{ url_for('index') }}" method="POST"> {{ form.hidden_tag }} <div class="card w-50 m-2"> <h5 class="card-header">New Module Form</h5> <div class="card-body"> <div class="mb-3 row"> {{ form.moduleName.label(class="col-sm-2 col-form-label fw-bold") }} <div class="col-sm-10"> {{ form.moduleName(class="form-control") }} </div> </div> <div class="mb-3 row"> {{ form.moduleCode.label(class="col-sm-2 col-form-label fw-bold") }} <div class="col-sm-10"> {{ form.moduleCode(class="form-control") }} </div> </div> <div class="row"> {{ form.school.label(class="col-sm-2 col-form-label fw-bold") }} <div class="col-sm-10"> {{ form.school(class="form-control") }} </div> </div> </div> <div class="card-footer"> {{ form.submit(class="btn btn-primary") }} </div> </div> </form> </body> </html>
from flask import Flask, jsonify, make_response app = Flask(__name__) modules = [ {"code": "5062CEM", "title": "Programming and Algorithms 2", "leader": "Dr Ian Cornelius"}, {"code": "4061CEM", "title": "Programming and Algorithms 1", "leader": "Dr Ian Cornelius"} ] @app.route("/modules", methods=['GET']) def list_modules(): response = make_response(jsonify(modules), 200) response.headers['Content-Type'] = "application/json" return response @app.route("/modules/<id>", methods=['GET']) def list_modules_by_id(id): for i in range(len(modules)): if modules[i]['code'] == id: response = make_response(jsonify(modules[i]), 200) response.headers['Content-Type'] = "application/json" return response response2 = make_response("Resource not found.", 200) response2.headers['Content-Type'] = "text/html" return response2 if __name__ == "__main__": app.run(debug=True)