我正在尝试构建一个集成在 Flask 应用程序中的 Dash 应用程序。一切似乎都运行良好,但是当我尝试在 Dash 应用程序中显示登录用户时,它显示为“无”。
我的应用程序结构如下:
example/
example/
dashapp/
static/
custom-css.css
templates/
base.html
home.html
login.html
__init__.py
app1.py
forms.py
models.py
routes.py
application.py
config.py
users.db
我的 Dash 应用程序位于app1.py. 我尝试了几种方法通过current_user但没有成功。虽然它出来很好home.html。我想问题在于我的应用程序位于单独的文件中,而不是routes.py.
这是代码app.py:
import dash
import dash_html_components as html
from dashapp import application
from flask_login import login_required, current_user
app1 = dash.Dash(__name__, server = application, routes_pathname_prefix = '/app1/', assets_folder = 'static', assets_url_path = '/static')
app1.scripts.config.serve_locally = True
app1.css.config.serve_locally = True
app1.layout = html.Div(
children = '{}'.format(current_user)
)
for view_func in app1.server.view_functions:
if view_func.startswith('/app1/'):
app1.server.view_functions[view_func] = login_required(app1.server.view_functions[view_func])
routes.py代码:
from flask import render_template, flash, redirect, url_for, request
from flask_login import login_user, logout_user, current_user, login_required
from werkzeug.urls import url_parse
from dashapp import application, db
from dashapp.forms import LoginForm
from dashapp.models import User
from dashapp import app1
@application.route('/')
@application.route('/home')
@login_required
def home():
return render_template('home.html')
其他脚本几乎是标准的,除非真的需要它们,否则我不会将它们包含在问题中。
请建议如何克服我的问题。谢谢!
拉丁的传说
不负相思意
相关分类