In this video I’ll show you how to use the Postgres database in the cloud with your Tkinter app!
Connect your tkinter app to a postgres database in the cloud! We’ll use heroku to host our postgresql database and connect to it from our Tkinter app.
Python Code: cloud_db.py
(Github Code)
from tkinter import *
import psycopg2
# postgresql-cubic-98264
root = Tk()
root.title('Codemy.com - Postgres Cloud App')
root.iconbitmap('c:/gui/codemy.ico')
root.geometry("500x550")
def clear():
f_name.delete(0, END)
_name.delete(0, END)
def query():
# Configure and connect to Postgres
conn = psycopg2.connect(
host = "ec2-18-211-41-246.compute-1.amazonaws.com",
database = "dalilo11l7p24t",
user = "ikyumnardmfjok",
password = "52d3b09a2480693c2649d8c8a6b10514ec9798d08126844f16a06342480e215b",
port = "5432",
)
# Create a cursor
c = conn.cursor()
# Create a Table
c.execute('''CREATE TABLE IF NOT EXISTS customers
(first_name TEXT,
last_name TEXT);
''')
conn.commit()
conn.close()
def submit():
# Configure and connect to Postgres
conn = psycopg2.connect(
host = "ec2-18-211-41-246.compute-1.amazonaws.com",
database = "dalilo11l7p24t",
user = "ikyumnardmfjok",
password = "52d3b09a2480693c2649d8c8a6b10514ec9798d08126844f16a06342480e215b",
port = "5432",
)
# Create a cursor
c = conn.cursor()
# Insert data into table
thing1 = f_name.get()
thing2 = l_name.get()
c.execute('''INSERT INTO customers (first_name, last_name)
VALUES (%s, %s)''', (thing1, thing2)
)
conn.commit()
conn.close()
update()
clear()
def update():
# Configure and connect to Postgres
conn = psycopg2.connect(
host = "ec2-18-211-41-246.compute-1.amazonaws.com",
database = "dalilo11l7p24t",
user = "ikyumnardmfjok",
password = "52d3b09a2480693c2649d8c8a6b10514ec9798d08126844f16a06342480e215b",
port = "5432",
)
# Create a cursor
c = conn.cursor()
# Grab stuff from online database
c.execute("SELECT * FROM customers")
records = c.fetchall()
output = ''
# Loop thru the results
for record in records:
output_label.config(text=f'{output}\n{record[0]} {record[1]}')
output = output_label['text']
conn.close()
# Create The GUI For The App
my_frame = LabelFrame(root, text="Postgres Example")
my_frame.pack(pady=20)
f_label = Label(my_frame, text="First Name:")
f_label.grid(row=0, column=0, pady=10, padx=10)
f_name = Entry(my_frame, font=("Helvetica, 18"))
f_name.grid(row=0, column=1, pady=10, padx=10)
l_label = Label(my_frame, text="Last Name:")
l_label.grid(row=1, column=0, pady=10, padx=10)
l_name = Entry(my_frame, font=("Helvetica, 18"))
l_name.grid(row=1, column=1, pady=10, padx=10)
submit_button = Button(my_frame, text="Submit", command=submit)
submit_button.grid(row=2, column=0, pady=10, padx=10)
update_button = Button(my_frame, text="Update", command=update)
update_button.grid(row=2, column=1, pady=10, padx=10)
output_label = Label(root, text="")
output_label.pack(pady=50)
query()
root.mainloop()

Add comment