2
저는 파이썬에 대해 아주 익숙합니다. 저는 Tkinter와 requests을 가지고 놀고 있었고 제 웹 응용 프로그램에 로그인 할 수있는 간단한 프로그램을 만들려고했습니다. 나는 몇 시간 동안 잘못 갈 수 있지만, 난 그냥 내가 잘못 뭘하는지 모르는 것을 알아 내기 위해 노력 해왔다AttributeError : 입력 인스턴스에 '__len__'속성이 없습니다.
Exception in Tkinter callback
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1410, in __call__
return self.func(*args)
File "test.py", line 35, in login
c.post('http://fruro.com/login.php', data=self.payload)
File "/Users/Peter/Desktop/fruroPy/fruro/lib/python2.7/site-packages/requests/sessions.py", line 399, in post
return self.request('POST', url, data=data, **kwargs)
File "/Users/Peter/Desktop/fruroPy/fruro/lib/python2.7/site-packages/requests/sessions.py", line 343, in request
prep = req.prepare()
File "/Users/Peter/Desktop/fruroPy/fruro/lib/python2.7/site-packages/requests/models.py", line 222, in prepare
p.prepare_body(self.data, self.files)
File "/Users/Peter/Desktop/fruroPy/fruro/lib/python2.7/site-packages/requests/models.py", line 375, in prepare_body
body = self._encode_params(data)
File "/Users/Peter/Desktop/fruroPy/fruro/lib/python2.7/site-packages/requests/models.py", line 81, in _encode_params
return urlencode(result, doseq=True)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 1311, in urlencode
len(v)
AttributeError: Entry instance has no attribute '__len__'
: 나는 다음과 같은 오류를 받고있다. 어떤 도움을 주시면 감사하겠습니다
from Tkinter import *
from requests import session
class Login:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.emLabel = Label(frame, text="Email:")
self.emLabel.pack(side=LEFT)
self.email = Entry(frame, width=15)
self.email.pack(side=LEFT)
self.pasLabel = Label(frame, text="Password:")
self.pasLabel.pack(side=LEFT)
self.password = Entry(frame, show="*", width=15)
self.password.pack(side=LEFT)
self.hi_there = Button(frame, text="Login", command=self.login)
self.hi_there.pack()
def login(self):
self.payload = {
'action': 'login',
'email': self.email,
'password': self.password
}
with session() as c:
c.post('http://fruro.com/login.php', data=self.payload)
self.request = c.get('http://fruro.com')
print self.request.headers
print self.request.text
root = Tk()
login = Login(root)
root.title("Login to your account")
root.mainloop()
:
여기 내가 사용 내 코드입니다. 미리 감사드립니다.
+1과 같이 변경하십시오. 이 답변이 좋을 때 나는 대답을 제거 할 것입니다. – Elazar
대단히 고맙습니다. 문제가 해결되었습니다. –