{"id":21444607,"url":"https://github.com/gurupatil0003/01_flask_tutorial","last_synced_at":"2025-04-10T01:13:08.701Z","repository":{"id":218837091,"uuid":"747487701","full_name":"Gurupatil0003/01_Flask_Tutorial","owner":"Gurupatil0003","description":"Flask is a lightweight and flexible web framework for Python. It's designed to make getting started with web development in Python quick and easy, with the ability to scale up to complex applications. Flask was created by Armin Ronacher and first released in 2010.","archived":false,"fork":false,"pushed_at":"2025-02-19T06:07:31.000Z","size":870,"stargazers_count":55,"open_issues_count":5,"forks_count":23,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T01:13:01.599Z","etag":null,"topics":["backend","database","flask","front-end-development","html-css-javascript","python"],"latest_commit_sha":null,"homepage":"https://www.linkedin.com/in/guranna-gouda-039870228/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gurupatil0003.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-24T02:49:41.000Z","updated_at":"2025-03-18T06:32:11.000Z","dependencies_parsed_at":"2024-01-29T05:25:48.821Z","dependency_job_id":"b3ff7fe0-3d7b-4e2f-84f9-fd36713fad0b","html_url":"https://github.com/Gurupatil0003/01_Flask_Tutorial","commit_stats":null,"previous_names":["gurupatil0003/01_flask_tutorial"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gurupatil0003%2F01_Flask_Tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gurupatil0003%2F01_Flask_Tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gurupatil0003%2F01_Flask_Tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gurupatil0003%2F01_Flask_Tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gurupatil0003","download_url":"https://codeload.github.com/Gurupatil0003/01_Flask_Tutorial/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137891,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","database","flask","front-end-development","html-css-javascript","python"],"created_at":"2024-11-23T02:20:13.144Z","updated_at":"2025-04-10T01:13:08.675Z","avatar_url":"https://github.com/Gurupatil0003.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Topics \n\n- [What is Flask](#what-is-flask)\n- [Install Virtual Environment](#Install-Virtual-Environment)\n- [How to Install Flask](#install-flask)\n- [How check Flask  Version](#Pip-version)\n- [A mini_Flask application](#a-minimal-app)\n- [Flask Project Structure](#flask-project-structure) - a few options\n- (WIP) [Flask Bootstrap Sample](#flask-bootstrap-sample) - a simple project built with Bootstrap\n- (WIP) [Jinja Template](#jinja-template) - how to render HTML pages efficiently\n- [Url_Variable Rule and Creatinng_url_Examle](#Url-Rule-\u0026-Creation-url)-What is the Rule of Variable and creation of Url\n\n\n\u003cbr /\u003e\n\n## What is Flask \n\n*Flask is a lightweight web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications.\nCompared to [Django](https://www.djangoproject.com/), Flask provides a lightweight codebase and more freedom to the developer.*\n\n## Virtual Environment\n*-We use a module named virtualenv which is a tool to create isolated Python environments. virtualenv creates a folder that contains all the necessary executables to use the packages that a Python project would need.*\n\n*-A Python Virtual Environment is an isolated space where you can work on your Python projects, separately from your system-installed Python.*\n\n*-You can set up your own libraries and dependencies without affecting the system Python.*\n\n*-We will use virtualenv to create a virtual environment in Python.*\n\n## Why do we need a virtual environment?\n\n*-Imagine a scenario where you are working on two web-based Python projects one of them uses Django 4.0 and the other uses Django 4.1 (check for the latest Django versions and so on). In such situations, we need to create a virtual environment in Python that can be really useful to maintain the dependencies of both projects.*\n\n### Installing Virtula environment\n```python\n#Installing Virtula environment\npip install virtualenv\n```\n### Call Virutal Environment\n```python\n#Call Virutal Environment and it's  local directory Name  Like--- Venv or Guru or Data etc....\nvirtualenv venv\n```\n### Activate a virtual environment\n```python\n#Activate a virtual environment based on your OS\nFor windows \u003e venv\\Scripts\\activate\nFor linux \u003e source ./venv/bin/activate\n\n```\n#If your Facing Any error Then Try this\n```python\nSet-ExecutionPolicy RemoteSigned -Scope Process\n\n```\n## Install Flask\n\n*The easiest way to install [Flask](https://palletsprojects.com/p/flask/) is to use [PIP](https://pip.pypa.io/en/stable/quickstart/) the official package-management tool.*\n\n### Install Flask Command\n```python\npip install Flask\n```\n\n\u003cbr /\u003e\n\n## How to check Flask version\n\n*Open a Python console or platoform (type python in terminal) and check the installed version as below:*\n\n```python \n\nimport flask\nflask_version = flask.__version__\nprint(f\"Installed Flask version: {flask_version}\")\n\n       Or\nflask --version\n\n```\n# Mini App\n\n[Code Here ⚙️](/minimal_app)\n\n```python\nfrom flask import Flask\n\napp = Flask(__name__)\n\n@app.route(\"/\")\ndef hello_world():\n    return \"\u003cp\u003eHello, World!\u003c/p\u003e\"\n\nif __name__==\"__main__\":\n    app.run()\n\n```\n\n#### So what did that code do?\n\n*1. First we imported the Flask class. An instance of this class will be our WSGI application.*\n\n*2. Next we create an instance of this class. The first argument is the name of the application’s module or package. __name__ is a convenient shortcut for this that is appropriate   for most cases. This is needed so that Flask knows where to look for resources such as templates and static files.*\n\n*3. We then use the route() decorator to tell Flask what URL should trigger our function.*\n\n*4. The function returns the message we want to display in the user’s browser. The default content type is HTML, so HTML in the string will be rendered by the browser.*\n\n\u003chr\u003e\n\n# Debug Mode\n\n[Code Here ⚙️](/debug_mode)\n\n```python\nfrom flask import Flask\n\napp = Flask(__name__)\n\n@app.route(\"/\")\ndef hello_world():\n    return \"\u003cp\u003eHello, World!\u003c/p\u003e\"\n\n# debug mode running on 8000 port\nif __name__==\"__main__\":\n    app.run(debug=True, port=8000)\n ```\n*\u003e The flask run command can do more than just start the development server. By enabling debug mode, the server will automatically reload if code changes, and will show an          interactive debugger in the browser if an error occurs during a request.*\n\n*\u003e Warning ⚠️*\n*\u003e The debugger allows executing arbitrary Python code from the browser. It is protected by a pin, but still represents a major security risk. Do not run the development server or   debugger in a production environment.*\n\n\u003chr\u003e\n# Creation Routing App\n\n[Code Here ⚙️](/routing)\n\n```python\nfrom flask import Flask\n\napp = Flask(__name__)\n\n@app.route('/')\ndef index():\n    return 'This is Index Page'\n\n@app.route('/login')\ndef login():\n    return 'This is Login Page'\n\n@app.route('/hello')\ndef hello():\n    return 'Hello, World'\n\nif __name__==\"__main__\":\n    app.run(debug=True)\n\n```\n\n\u003e Modern web applications use meaningful URLs to help users. Users are more likely to like a page and come back if the page uses a meaningful URL they can remember and use to   directly visit a page.\n\n\u003e Use the `route()` decorator to bind a function to a URL.\n\n## Rendering Templates\n\n[Code Here ⚙️](/render_template)\n\n```python\nfrom flask import Flask, render_template\n\napp = Flask(__name__)\n\n@app.route(\"/\")\ndef index():\n    return render_template('index.html')\n\n@app.route(\"/\")\ndef about():\n    return render_template('about.html')\n\nif __name__==\"__main__\":\n    app.run()\n    \n```\n\n```python\npython filename.py\n      or\nstart flask\n \n```\n\n#### In flask, html file are served from the 'templates' folder by default and all the static file; images, css, js, etc are served from the 'static' folder. \n\n\u003e These folders should be present in the root directly of your python application\n\n\u003cp align=\"center\" \u003e\n    \n\u003cimg src=\"https://i.ibb.co/7yp0z91/app-py.png\"  alt=\"structure\" style=\"width:350px\" /\u003e\n\n\u003c/p\u003e\n    \n\u003chr\u003e\n\n## Crl Rule and Url Creation\n\n[Code Here ⚙️](/url_variables/README.md)\n\n```python\nfrom flask import Flask, render_template\n\napp = Flask(__name__)\n\n@app.route('/')\ndef index():\n    return render_template('index.html')\n\n# string\n@app.route('/string/\u003cstring:value\u003e')\ndef string(value):\n    return f\"\u003cp\u003eHi this is a string value {value}\u003c/p\u003e\"\n\n# int\n@app.route('/int/\u003cint:value\u003e')\ndef int(value):\n    return f\"\u003cp\u003eHi this is a int value {value}\u003c/p\u003e\"\n\n# float\n@app.route('/float/\u003cfloat:value\u003e')\ndef float(value):\n    return f\"\u003cp\u003eHi this is a float value {value}\u003c/p\u003e\"\n\n# path\n@app.route('/path/\u003cpath:value\u003e')\ndef path(value):\n    return f\"\u003cp\u003eHi this is a path value {value}\u003c/p\u003e\"\n\n# uuid\n@app.route('/uuid/\u003cuuid:value\u003e')\ndef uuid(value):\n    return f\"\u003cp\u003eHi this is a uuid value {value}\u003c/p\u003e\"\n\n\n\nif __name__==\"__main__\":\n    app.run(debug=True)\n    \n```\n\n~~~python\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n    \u003cmeta charset=\"UTF-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n    \u003ctitle\u003eFlask Form Example\u003c/title\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n    \u003ch2\u003eEnter Your Name\u003c/h2\u003e\n    \u003cform action=\"/\" method=\"POST\"\u003e\n        \u003cinput type=\"text\" name=\"name\" required\u003e\n        \u003cbutton type=\"submit\"\u003eSubmit\u003c/button\u003e\n    \u003c/form\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n\n\n~~~\n\n~~~python\nfrom flask import Flask, request, render_template\n\napp = Flask(__name__)\n\n@app.route('/', methods=['GET', 'POST'])\ndef home():\n    if request.method == 'POST':\n        name = request.form['name']  # Get data from form\n        return f\"\u003ch2\u003eHello, {name}!\u003c/h2\u003e\u003ca href='/'\u003eGo Back\u003c/a\u003e\"\n    return render_template('index.html')  # Render HTML form\n\nif __name__ == '__main__':\n    app.run(debug=True)\n\n\n\n~~~\n\n# Lab Register and Login page\n\n```python\nfrom flask import Flask, render_template, request, redirect, url_for, flash\nfrom werkzeug.security import generate_password_hash, check_password_hash\n\napp = Flask(__name__)\napp.secret_key = 'your_secret_key'  # For flash messages\n\n# In-memory user storage (for simplicity)\nusers = {}\n\n@app.route('/')\ndef home():\n    return render_template('index.html')\n\n@app.route('/login', methods=['GET', 'POST'])\ndef login():\n    if request.method == 'POST':\n        username = request.form['username']\n        password = request.form['password']\n        \n        if username in users and check_password_hash(users[username], password):\n            return redirect(url_for('home'))\n        else:\n            flash('Invalid username or password', 'error')\n    return render_template('login.html')\n\n@app.route('/register', methods=['GET', 'POST'])\ndef register():\n    if request.method == 'POST':\n        username = request.form['username']\n        password = request.form['password']\n        \n        if username in users:\n            flash('Username already taken', 'error')\n        else:\n            users[username] = generate_password_hash(password)\n            return redirect(url_for('login'))\n    \n    return render_template('register.html')\n\nif __name__ == '__main__':\n    app.run(debug=True)\n\n```\n\n# index Page\n\n```python\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n    \u003cmeta charset=\"UTF-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n    \u003ctitle\u003eHome\u003c/title\u003e\n    \u003clink rel=\"stylesheet\" type=\"text/css\" href=\"{{ url_for('static', filename='css/style.css') }}\"\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n    \u003ch1\u003eWelcome!\u003c/h1\u003e\n    \u003ca href=\"/login\"\u003eLogin\u003c/a\u003e | \u003ca href=\"/register\"\u003eRegister\u003c/a\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n\n```\n\n\n#index page css\n~~~python\n\nbody {\n    font-family: Arial, sans-serif;\n    background-color: #f4f4f4;\n    text-align: center;\n    margin-top: 50px;\n}\n\nh1 {\n    color: #333;\n}\n\na {\n    text-decoration: none;\n    color: #007BFF;\n    font-weight: bold;\n    margin: 10px;\n}\n\na:hover {\n    color: #0056b3;\n}\n\n\n~~~\n\n# Login Page\n```python\n\n\u003ch2\u003eLogin\u003c/h2\u003e\n\u003cform method=\"POST\"\u003e\n    \u003clabel\u003eUsername:\u003c/label\u003e\n    \u003cinput type=\"text\" name=\"username\" required\u003e\u003cbr\u003e\n\n    \u003clabel\u003ePassword:\u003c/label\u003e\n    \u003cinput type=\"password\" name=\"password\" required\u003e\u003cbr\u003e\n\n    \u003cbutton type=\"submit\"\u003eLogin\u003c/button\u003e\n\u003c/form\u003e\n\n\u003cp\u003eDon't have an account? \u003ca href=\"/register\"\u003eRegister here\u003c/a\u003e\u003c/p\u003e\n\n```\n\n# Register Page\n\n```python\n\u003ch2\u003eRegister\u003c/h2\u003e\n\u003cform method=\"POST\"\u003e\n    \u003clabel\u003eUsername:\u003c/label\u003e\n    \u003cinput type=\"text\" name=\"username\" required\u003e\u003cbr\u003e\n\n    \u003clabel\u003ePassword:\u003c/label\u003e\n    \u003cinput type=\"password\" name=\"password\" required\u003e\u003cbr\u003e\n\n    \u003cbutton type=\"submit\"\u003eRegister\u003c/button\u003e\n\u003c/form\u003e\n\n\u003cp\u003eAlready have an account? \u003ca href=\"/login\"\u003eLogin here\u003c/a\u003e\u003c/p\u003e\n\n```\n# Register and login page with Databse\n\n```python\nfrom flask import Flask, render_template, request, redirect, url_for, flash\nimport sqlite3\nfrom werkzeug.security import generate_password_hash, check_password_hash\n\napp = Flask(__name__)\napp.secret_key = 'your_secret_key'  # For flash messages\n\n# Database setup\ndef init_db():\n    with sqlite3.connect('users.db') as conn:\n        conn.execute('''CREATE TABLE IF NOT EXISTS users (\n                            id INTEGER PRIMARY KEY AUTOINCREMENT,\n                            username TEXT NOT NULL UNIQUE,\n                            password TEXT NOT NULL)''')\n        conn.commit()\n\ninit_db()\n\n# Helper function to query the database for user details\ndef get_user_by_username(username):\n    with sqlite3.connect('users.db') as conn:\n        cursor = conn.cursor()\n        cursor.execute(\"SELECT * FROM users WHERE username = ?\", (username,))\n        return cursor.fetchone()\n\n# Helper function to add a user to the database\ndef add_user(username, password):\n    with sqlite3.connect('users.db') as conn:\n        cursor = conn.cursor()\n        cursor.execute(\"INSERT INTO users (username, password) VALUES (?, ?)\", (username, password))\n        conn.commit()\n\n@app.route('/')\ndef home():\n    return render_template('index.html')\n\n@app.route('/login', methods=['GET', 'POST'])\ndef login():\n    if request.method == 'POST':\n        username = request.form['username']\n        password = request.form['password']\n        \n        user = get_user_by_username(username)\n        if user and check_password_hash(user[2], password):  # Check if password matches\n            return redirect(url_for('home'))\n        else:\n            flash('Invalid username or password', 'error')\n    return render_template('login.html')\n\n@app.route('/register', methods=['GET', 'POST'])\ndef register():\n    if request.method == 'POST':\n        username = request.form['username']\n        password = request.form['password']\n        \n        # Check if the username already exists\n        if get_user_by_username(username):\n            flash('Username already taken', 'error')\n        else:\n            hashed_password = generate_password_hash(password)\n            add_user(username, hashed_password)\n            return redirect(url_for('login'))\n    \n    return render_template('register.html')\n\nif __name__ == '__main__':\n    app.run(debug=True)\n\n\n```\n\n# Index Page\n```python\n\u003ch1\u003eWelcome!\u003c/h1\u003e\n\u003ca href=\"/login\"\u003eLogin\u003c/a\u003e | \u003ca href=\"/register\"\u003eRegister\u003c/a\u003e\n\n\n````\n\n# login Page\n\n```python\n\u003ch2\u003eLogin\u003c/h2\u003e\n\u003cform method=\"POST\"\u003e\n    \u003clabel\u003eUsername:\u003c/label\u003e\n    \u003cinput type=\"text\" name=\"username\" required\u003e\u003cbr\u003e\n\n    \u003clabel\u003ePassword:\u003c/label\u003e\n    \u003cinput type=\"password\" name=\"password\" required\u003e\u003cbr\u003e\n\n    \u003cbutton type=\"submit\"\u003eLogin\u003c/button\u003e\n\u003c/form\u003e\n\n\u003cp\u003eDon't have an account? \u003ca href=\"/register\"\u003eRegister here\u003c/a\u003e\u003c/p\u003e\n\n\n```\n\n# Register Page\n\n```python\n\u003ch2\u003eRegister\u003c/h2\u003e\n\u003cform method=\"POST\"\u003e\n    \u003clabel\u003eUsername:\u003c/label\u003e\n    \u003cinput type=\"text\" name=\"username\" required\u003e\u003cbr\u003e\n\n    \u003clabel\u003ePassword:\u003c/label\u003e\n    \u003cinput type=\"password\" name=\"password\" required\u003e\u003cbr\u003e\n\n    \u003cbutton type=\"submit\"\u003eRegister\u003c/button\u003e\n\u003c/form\u003e\n\n\u003cp\u003eAlready have an account? \u003ca href=\"/login\"\u003eLogin here\u003c/a\u003e\u003c/p\u003e\n\n\n```\n\n# Login Redirect to home page\n\n```python\n\nfrom flask import Flask, render_template, request, redirect, url_for, flash\nimport sqlite3\nfrom werkzeug.security import generate_password_hash, check_password_hash\n\napp = Flask(__name__)\napp.secret_key = 'your_secret_key'  # For flash messages\n\n# Database setup\ndef init_db():\n    with sqlite3.connect('users.db') as conn:\n        conn.execute('''CREATE TABLE IF NOT EXISTS users (\n                            id INTEGER PRIMARY KEY AUTOINCREMENT,\n                            username TEXT NOT NULL UNIQUE,\n                            password TEXT NOT NULL)''')\n        conn.commit()\n\ninit_db()\n\n# Helper function to query the database for user details\ndef get_user_by_username(username):\n    with sqlite3.connect('users.db') as conn:\n        cursor = conn.cursor()\n        cursor.execute(\"SELECT * FROM users WHERE username = ?\", (username,))\n        return cursor.fetchone()\n\n# Helper function to add a user to the database\ndef add_user(username, password):\n    with sqlite3.connect('users.db') as conn:\n        cursor = conn.cursor()\n        cursor.execute(\"INSERT INTO users (username, password) VALUES (?, ?)\", (username, password))\n        conn.commit()\n\n@app.route('/')\ndef home():\n    return render_template('index.html')\n\n@app.route('/home2')\ndef home2():\n    # Make sure the user is logged in (for simplicity, we are not implementing sessions here)\n    return render_template('home2.html')\n\n@app.route('/login', methods=['GET', 'POST'])\ndef login():\n    if request.method == 'POST':\n        username = request.form['username']\n        password = request.form['password']\n        \n        user = get_user_by_username(username)\n        if user and check_password_hash(user[2], password):  # Check if password matches\n            return redirect(url_for('home2'))  # Redirect to home2 after login\n        else:\n            flash('Invalid username or password', 'error')\n    return render_template('login.html')\n\n@app.route('/register', methods=['GET', 'POST'])\ndef register():\n    if request.method == 'POST':\n        username = request.form['username']\n        password = request.form['password']\n        \n        # Check if the username already exists\n        if get_user_by_username(username):\n            flash('Username already taken', 'error')\n        else:\n            hashed_password = generate_password_hash(password)\n            add_user(username, hashed_password)\n            return redirect(url_for('login'))\n    \n    return render_template('register.html')\n\nif __name__ == '__main__':\n    app.run(debug=True)\n```\n# index Html\n```html\n\n\u003ch1\u003eWelcome!\u003c/h1\u003e\n\u003ca href=\"/login\"\u003eLogin\u003c/a\u003e | \u003ca href=\"/register\"\u003eRegister\u003c/a\u003e\n\n```\n# Login Html\n\n```python\n\u003ch2\u003eLogin\u003c/h2\u003e\n\u003cform method=\"POST\"\u003e\n    \u003clabel\u003eUsername:\u003c/label\u003e\n    \u003cinput type=\"text\" name=\"username\" required\u003e\u003cbr\u003e\n\n    \u003clabel\u003ePassword:\u003c/label\u003e\n    \u003cinput type=\"password\" name=\"password\" required\u003e\u003cbr\u003e\n\n    \u003cbutton type=\"submit\"\u003eLogin\u003c/button\u003e\n\u003c/form\u003e\n\n\u003cp\u003eDon't have an account? \u003ca href=\"/register\"\u003eRegister here\u003c/a\u003e\u003c/p\u003e\n\n\n```\n\n# Register Html\n\n```html\n\u003ch2\u003eRegister\u003c/h2\u003e\n\u003cform method=\"POST\"\u003e\n    \u003clabel\u003eUsername:\u003c/label\u003e\n    \u003cinput type=\"text\" name=\"username\" required\u003e\u003cbr\u003e\n\n    \u003clabel\u003ePassword:\u003c/label\u003e\n    \u003cinput type=\"password\" name=\"password\" required\u003e\u003cbr\u003e\n\n    \u003cbutton type=\"submit\"\u003eRegister\u003c/button\u003e\n\u003c/form\u003e\n\n\u003cp\u003eAlready have an account? \u003ca href=\"/login\"\u003eLogin here\u003c/a\u003e\u003c/p\u003e\n\n```\n\n# Home2.Html\n\n```python\n\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n    \u003cmeta charset=\"UTF-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n    \u003ctitle\u003eHome - Welcome!\u003c/title\u003e\n    \u003clink rel=\"stylesheet\" href=\"{{ url_for('static', filename='style.css') }}\"\u003e\n\u003c/head\u003e\n\u003cbody class=\"home2\"\u003e\n    \u003cdiv class=\"content\"\u003e\n        \u003ch1\u003eWelcome, you are logged in!\u003c/h1\u003e\n        \u003cp\u003eThis is a colorful page. Enjoy your session!\u003c/p\u003e\n        \u003cp\u003e\u003ca href=\"/\"\u003eGo back to the main page\u003c/a\u003e\u003c/p\u003e\n    \u003c/div\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgurupatil0003%2F01_flask_tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgurupatil0003%2F01_flask_tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgurupatil0003%2F01_flask_tutorial/lists"}