RAMA2009
سه شنبه 15 شهریور 1401, 17:33 عصر
سلام
من این کدهارو دارم:
def write_to_file(data):
with open('database.txt', mode='a') as database:
email = data["email"]
subject = data["subject"]
message = data["message"]
file = database.write(f'\n{email},{subject},{message}')
@app.route('/submit_form', methods=['POST', 'GET'])
def submit_form():
if request.method == 'POST':
data = request.form.to_dict
write_to_file(data)
#print(f'type of data is: {type(data)}')
print(data)
return redirect('/thankyou.html')
else:
return 'err'
این کد باید کار کنه اما این اررو میده:
> TypeError: 'method' object is not subscriptable
و در فایل اینو برام مینوسه:
> <bound method MultiDict.to_dict of ImmutableMultiDict([('email', 'ex@ex.com'), ('subject', 'ex'), ('message', 'ex')])>
وقتی نوع متغیر data رو برمیگردونم اینو نشون میده:
> <class 'method'>
وقتی محتویات متغیر data رو چاپ میکنم اینو نشون میده:
> {'email': 'ex@ex.com', 'subject': 'ex', 'message': 'ex'}
ex مقادیری هست ک خودم دادم.
اما به این محتویات نمیتونم دسترسی داشته باشم
وقتی براکت رو به پرانتز تغییر میدم :
email = data("email")
subject = data("subject")
message = data("message")
کار میکنه اما به ازای هر المنت کل مقادیر دیکشنری رو چاپ میکنه:
> {'email': 'ex@ex.com', 'subject': 'ex', 'message': 'ex'},{'email': 'ex@ex.com', 'subject': 'ex', 'message': 'ex'},{'email': 'ex@ex.com', 'subject': 'ex', 'message': 'ex'}
لطفا راهنمایی کنید
من این کدهارو دارم:
def write_to_file(data):
with open('database.txt', mode='a') as database:
email = data["email"]
subject = data["subject"]
message = data["message"]
file = database.write(f'\n{email},{subject},{message}')
@app.route('/submit_form', methods=['POST', 'GET'])
def submit_form():
if request.method == 'POST':
data = request.form.to_dict
write_to_file(data)
#print(f'type of data is: {type(data)}')
print(data)
return redirect('/thankyou.html')
else:
return 'err'
این کد باید کار کنه اما این اررو میده:
> TypeError: 'method' object is not subscriptable
و در فایل اینو برام مینوسه:
> <bound method MultiDict.to_dict of ImmutableMultiDict([('email', 'ex@ex.com'), ('subject', 'ex'), ('message', 'ex')])>
وقتی نوع متغیر data رو برمیگردونم اینو نشون میده:
> <class 'method'>
وقتی محتویات متغیر data رو چاپ میکنم اینو نشون میده:
> {'email': 'ex@ex.com', 'subject': 'ex', 'message': 'ex'}
ex مقادیری هست ک خودم دادم.
اما به این محتویات نمیتونم دسترسی داشته باشم
وقتی براکت رو به پرانتز تغییر میدم :
email = data("email")
subject = data("subject")
message = data("message")
کار میکنه اما به ازای هر المنت کل مقادیر دیکشنری رو چاپ میکنه:
> {'email': 'ex@ex.com', 'subject': 'ex', 'message': 'ex'},{'email': 'ex@ex.com', 'subject': 'ex', 'message': 'ex'},{'email': 'ex@ex.com', 'subject': 'ex', 'message': 'ex'}
لطفا راهنمایی کنید