LKSN2021 Modul C – Python Web Application

Python Web Application

  • Programmers asked us to make sure they can run sample code below in the
    python3 virtual environment in the development server.
  • Install python3 and other required packages to run the code main.py
  • Enable python3 virtual environment and create a new virtual environment on “/opt/env/myenv”
    • Install the required packages to run the code in this virtual environment
  • Save code in directory “/opt/sample-web”
  • Make sure the code can be executed in the server without any trouble

Answer

Virtual Environment

Pada soal diminta bikin virtual environment python di /opt/env/myenv. Namun sebelum bikin virtual environment, pastikan paket python3-venv sudah diinstall.

apt install -y python3-venv && python3 -m venv /opt/env/myenv

Jika sudah bikin virtual environment maka semua hal yang berhubungan dengan Flask Web Apps nantinya akan memakai virtual environment tersebut dan tidak memakai environment bawaan.

Install Flask

Selanjutnya adalah menginstall Flask.

/opt/env/myenv/bin/python -m pip install Flask

Web Apps Code

Kemudian salinlah code main.py dan index.html yang ada pada MODUL C – NETDEVOPS – ITNSA – LKSN 2021.pdf ke dalam folder /opt/sample-web.

Pada code yang ada di MODUL C – NETDEVOPS – ITNSA – LKSN 2021.pdf memakai Rendering Template dari Flask, maka penempatan index.html harus berada pada /opt/sample-web/templates/index.html. Sehingga susunan direktori menjadi dibawah

/opt/sample-web/
├── main.py
└── templates
    └── index.html

1 directory, 3 files

Running Web Apps

Jika sudah semua, seharusnya dapat web apps tersebut sudah dapat dijalankan. Dapat di jalankan dengan

/opt/env/myenv/bin/python /opt/sample-web/main.py

Jika tidak dapat dijalankan, baca kembali error message yang didapat lalu cari di google solusinya. Permasalahan yang umum terjadi adalah 500 Internal Server Error dan jika di check di terminal mendapatkan error message seperti dibawah

jinja2.exceptions.TemplateNotFound: index.html

Kesalahan tersebut karena Flask tidak dapat menemukan index.html dan terkadang ada yang beberapa lupa bikin folder templates atau salah nama seperti template. Pastikan index.html berada di folder templates.

Full Code

Full code dapat dilihat pada git saya https://github.com/f00ds/Competition/tree/main/LKSN/2021/ModulC

Reference

https://flask.palletsprojects.com/en/2.0.x/installation/#install-flask

https://flask.palletsprojects.com/en/2.0.x/quickstart/#rendering-templates

https://docs.python.org/3/library/venv.html

About Rizal Fadil

Leave a Reply

Your email address will not be published. Required fields are marked *