使用 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
您声明了三个变量 a
、b
和 c
,您随后不使用它们。相反,您是 运行 ManagementRoot('a','b','c')
,它使用包含值 "a"
、"b"
和 "c"
的字符串,而不是您之前声明的变量。
您应该能够通过将行更改为以下内容来解决此问题:
mgmt = ManagementRoot(et1.get(),et2.get(),et3.get())
当我从主页上的“打开”按钮调用函数 '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
您声明了三个变量 a
、b
和 c
,您随后不使用它们。相反,您是 运行 ManagementRoot('a','b','c')
,它使用包含值 "a"
、"b"
和 "c"
的字符串,而不是您之前声明的变量。
您应该能够通过将行更改为以下内容来解决此问题:
mgmt = ManagementRoot(et1.get(),et2.get(),et3.get())