Python 烧瓶,如何返回值,在处理从输入表单获取的数据之后
我正在尝试使用Flask创建webapp 目录树是这样的: 在线服务:Python 烧瓶,如何返回值,在处理从输入表单获取的数据之后,python,web-applications,flask,flask-wtforms,Python,Web Applications,Flask,Flask Wtforms,我正在尝试使用Flask创建webapp 目录树是这样的: 在线服务: ----应用程序: --------forms.py --------init.py --------模板: ------------index.html ------------login.html --------views.py ----run.py 以及: run.py: views.py #!/usr/bin/env python # -*- coding: utf-8 -*- import os import s
----应用程序:
--------forms.py
--------init.py
--------模板:
------------index.html
------------login.html
--------views.py
----run.py
以及: run.py: views.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
from flask import render_template, flash, redirect
from app import app
from .forms import LoginForm
file_dir = os.path.split(os.path.realpath(__file__))[0]
os.chdir(file_dir)
cur_dir = os.getcwd()
back_end_dir = os.path.join(cur_dir, "./../../back_end")
sys.path.append(back_end_dir)
import main
@app.route('/')
@app.route('/index')
def index():
return render_template("index.html",
title = 'Home')
def process(url):
url_status = "Invalid"
res = ""
res = main.get_life_stage(url)
url_str = "Url: " + url
url_status = "valid"
url_status_str = "Url_status: " + url_status
ret_str = "\n".join([url_str, url_status_str, res])
return ret_str
@app.route('/search', methods = ['GET', 'POST'])
def login():
form = LoginForm()
if form.validate_on_submit():
url = form.openid.data
ret_str = ""
ret = process(url)
flash(ret_str)
return redirect('/index')
return render_template('login.html',
title = 'Sign In',
form = form)
在views.py中,ret=process(url)处理来自前端的数据,然后返回一个字符串,ret=process(url)在单元测试中工作良好,但在视图中不工作
那么,如何显示进程函数的返回字符串呢?
如果有任何提示,我将不胜感激。
谢谢 我认为您应该分配到
ret\u str
ret_str = process(url)
因为您使用的是flash(ret\u str)
-
我希望您在
index()
中的模板中使用此闪现消息,删除redirect
并将ret
与一些render\u模板
一起使用,或者您应该flash(ret)
而不是flash(ret\u str)
,然后在index()中与模板一起使用它。
谢谢,替换重定向('/index'))使用render_模板('.html',*,),然后修复它。我不知道它是怎么工作的,但它是工作的!
ret_str = process(url)