https://python-guide-es.readthedocs.io/es/guide-es/dev/virtualenvs.html
Create an environment
ednalan@Cairocoders myapp % pip install virtualenv
ednalan@Cairocoders myapp % pip install virtualenv
Activate the environment
ednalan@Cairocoders myapp % source venv/bin/activate
(venv) ednalan@Cairocoders myapp %
Install Flask
https://pypi.org/project/Flask/
(venv) ednalan@Cairocoders myapp % pip install -U Flask
(venv) ednalan@Cairocoders myapp % flask run
Install requirements
pip install -U flask-cors
https://pypi.org/project/Flask-Cors/
Flask-SQLAlchemy
Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application.
https://flask-sqlalchemy.palletsprojects.com/en/3.0.x/
(venv) PS C:\flask_dev\myapp>pip install -U Flask-SQLAlchemy
Flask + marshmallow for beautiful APIs
https://pypi.org/project/flask-marshmallow/
(venv) PS C:\flask_dev\myapp>pip install flask-marshmallow
python3 -m pip install
https://pypi.org/project/pymysql/
app.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | / / app.py from flask import Flask, jsonify, request from flask_marshmallow import Marshmallow #ModuleNotFoundError: No module named 'flask_marshmallow' = pip install flask-marshmallow from flask_cors import CORS, cross_origin #ModuleNotFoundError: No module named 'flask_cors' = pip install Flask-Cors from models import db, Users app = Flask(__name__) app.config[ 'SECRET_KEY' ] = 'cairocoders-ednalan' #app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///flaskdb.db' # Databse configuration mysql Username:password@hostname/databasename app.config[ 'SQLALCHEMY_DATABASE_URI' ] = 'mysql+pymysql://root:root@localhost:8889/flasknextjs' #python3 -m pip install PyMySQL https://pypi.org/project/pymysql/ SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_ECHO = True CORS(app, supports_credentials = True ) db.init_app(app) with app.app_context(): db.create_all() ma = Marshmallow(app) class UserSchema(ma.Schema): class Meta: fields = ( 'id' , 'name' , 'email' , 'password' ) user_schema = UserSchema() users_schema = UserSchema(many = True ) @app .route( "/" ) def hello(): return "Hello, World!" @app .route( '/users' , methods = [ 'GET' ]) def listusers(): all_users = Users.query. all () results = users_schema.dump(all_users) return jsonify(results) if __name__ = = "__main__" : app.run(debug = True ) |
1 2 3 4 5 6 7 8 9 10 11 | / / models.py from flask_sqlalchemy import SQLAlchemy #pip install -U Flask-SQLAlchemy db = SQLAlchemy() class Users(db.Model): __tablename__ = "tblusers" id = db.Column(db.Integer, primary_key = True ) name = db.Column(db.String( 150 ), index = True , unique = True ) email = db.Column(db.String( 150 ), index = True , unique = True ) password = db.Column(db.String( 255 ), index = True , unique = True ) |
Next.js Install requirements
npm install axios
https://www.npmjs.com/package/axios
app\page.tsx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | //app\page.tsx "use client" ; import React, { useEffect, useState } from "react" ; import Link from "next/link" ; export default function Home() { const [userData, setUSerData] = useState([]); useEffect(() => { fetchData(); }, []) const fetchData = async () => { try { console.log(result.data); setUSerData(result.data) } catch (err) { console.log( "somthing Wrong" ); } } return ( <div className= "w-screen py-20 flex justify-center flex-col items-center" > <div className= "flex items-center justify-between gap-1 mb-5" > <h1 className= "text-4xl font-bold" >Next.js 14 Python Flask Mysql List All Data | TailwindCSS DaisyUI</h1> </div> <div className= "overflow-x-auto" > <div className= "mb-2 w-full text-right" > <Link href= "#" className= "btn btn-primary" > Create </Link> </div> <table className= "table table-zebra" > <thead className= "text-sm text-gray-700 uppercase bg-gray-50" > <tr> <th className= "py-3 px-6" >#</th> <th className= "py-3 px-6" >Name</th> <th className= "py-3 px-6" >Email</th> <th className= "py-3 px-6" >Password</th> <th className= "py-3 px-6 text-center" >Actions</th> </tr> </thead> <tbody> {userData.map((rs, index) => ( <tr key={rs.id} className= "bg-white border-b" > <td className= "py-3 px-6" >{index + 1}</td> <td className= "py-3 px-6" >{rs.name}</td> <td className= "py-3 px-6" >{rs.email}</td> <td className= "py-3 px-6" >{rs.password}</td> <td className= "flex justify-center gap-1 py-3" > <button className= "btn btn-active btn-primary" >Edit</button> <button className= "btn btn-active btn-secondary" > Delete </button> </td> </tr> ))} </tbody> </table> </div> </div> ); } |
Github - Next.js 14 Python Flask Mysql List All Data | TailwindCSS DaisyUI