使用 tkinter 和 python 的登录页面 API 到 AWS 云

Login page with tkinter and python for API to AWS cloud

当我从主页上的“打开”按钮调用函数 'HTTP_Connection' 时,我的登录页面代码不起作用。

它将连接到 F5 设备,语法工作正常,当我给 直接从 Tkinter 输入 a、b、c,我正在努力实现。

from tkinter import *
root=Tk()
root.title("Automated Configuration Manager")


def HTTP_Connection():
    a=et1.get()
    b=et2.get()
    c=et3.get()
    urllib3.disable_warnings()
    mgmt = ManagementRoot('a','b','c')
    ltm = mgmt.tm.ltm
    virtuals = mgmt.tm.ltm.virtuals
    virtual = mgmt.tm.ltm.virtuals.virtual


mainframe = Frame(root)
mainframe.grid(column=0,row=0, sticky=(N,W,E,S) )
mainframe.columnconfigure(0, weight = 1)
mainframe.rowconfigure(0, weight = 1)
mainframe.pack(pady = 100, padx = 100)

#choices = { 'F5','A5A','PA' }
var = StringVar() 
popupMenu = OptionMenu(mainframe, var,'F5','A5A','PA')
Label(mainframe, text="Choose a Option").grid(row = 1, column = 1)
popupMenu.grid(row = 2, column =1)



l1 = Label(root, text = "Enter IP Address:")
l1.pack()
global et1
global et2
global et3
et1 = Entry(root, bd = 5)
et1.pack()
a=et1.get()

l2 = Label(root, text = "User Name:")
l2.pack()
et2 = Entry(root, bd=5)
et2.pack()
b=et2.get()

g=StringVar()
g="enter password:"
l3=Label(root, text = g)
l3.pack()
et3 = Entry(root, bd=5, show = "*")
et3.pack()

b = Button(root, text = "Open", bd =5,command=HTTP_Connection)
b.pack()



root.mainloop()

在这个函数中:

def HTTP_Connection():
    a=et1.get()
    b=et2.get()
    c=et3.get()
    urllib3.disable_warnings()
    mgmt = ManagementRoot('a','b','c')
    ltm = mgmt.tm.ltm
    virtuals = mgmt.tm.ltm.virtuals
    virtual = mgmt.tm.ltm.virtuals.virtual

您声明了三个变量 abc,您随后不使用它们。相反,您是 运行 ManagementRoot('a','b','c'),它使用包含值 "a""b""c" 的字符串,而不是您之前声明的变量。

应该能够通过将行更改为以下内容来解决此问题:

    mgmt = ManagementRoot(et1.get(),et2.get(),et3.get())