2016-05-06 4 views
0

Я новичок в python и особенно в использовании модулей. Мне нужно использовать module.py. Есть ли способ распечатать что-то в моем браузере, не возвращая его? Чтобы быть более конкретным, я хочу что-то вроде этого:Использование bottle.py для печати в браузере

import pymysql 
from bottle import Bottle,run 

app = Bottle() 

@app.route('/conn') 
def conn(): 
    **print("Trying to connect to database...")** 
    try: 
     conn = pymysql.connect(user="X",passwd="X",host="X",port=X,database="X") 
    return "Connection succeded" 
except: 
    return "Oops...connection failed" 

run(app, host='localhost',port = 8080) 

Как я могу напечатать что-то вроде «Попытка подключения к базе данных без необходимости вернуть его

+0

Использование javascri pt в вашем шаблоне - правильный способ сделать это. – Spade

+0

@Spade Мне нужно использовать только python + sql с bottle.py только доступно! – kata

+0

Невозможно это сделать! Поскольку вы отправляете данные обратно клиенту, вам нужен новый запрос для ответа на этот запрос. –

ответ

3

print синтаксис/функция будет отображаться только на стандартный вывод? а не в браузере. Используйте yield вместо return, чтобы «постепенно отображать содержимое» (из-за отсутствия лучших слов). Я использовал эту бутылку над бутылкой именно по этой причине (Flask имеет другой способ сделать это).

import pymysql 
from bottle import Bottle,run 

app = Bottle() 

@app.route('/conn') 
def conn(): 
    yield "Trying to connect to database..." 
    try: 
     conn = pymysql.connect(user="X",passwd="X",host="X",port=X,database="X") 
     yield "Connection succeded" 
    except: 
     yield "Oops...connection failed" 

run(app, host='localhost',port = 8080) 
+0

Удивительный ответ. Я никогда не знал. Это где угодно в документации. – Spade

+1

http://bottlepy.org/docs/dev/async.html. Не забудьте принять ответ и поддержать: D Мне нужны баллы! –

+0

Если бы подумал о канаве бутылки для колбы, но еще не исследовал асинхронные способности. Это хорошо - возьмите мой верхний план. – Spade