这是我的结构:
├── main.py
├── static
│ ├── css
│ │ └── main.css
│ ├── img
│ │ └── main_bkg.jpg
│ └── js
└── templates
├── myApp
│ └── myApp.main.html
└── index.html
我只想在index.html
上创建一个链接到myApp.main.html
的非常简单的超链接。
我的main.py
看起来像是:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/<module>/')
def myApp(module):
return render_template('{0}/{0}.main.html'.format(module))
@app.route('/user/<username>')
def show_user_profile(username):
return 'User %s' % username
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
在我的index.html
中:
我试过了
<a href="{{ url_for('myApp') }}"><button>myApp</button></a>
烧瓶提示BuildError BuildError: ('myApp', {}, None)
如果我在myApp.main.html
上尝试以下操作,那么它会提供一个返回主页的有效链接:
<a href="{{ url_for('index') }}"><button>Home</button></a>
我在这里想念的是什么?
答案 0 :(得分:1)
您的myApp
规则需要module
个参数。您没有将其传递给url_for
,因此它引发了错误,因为它需要该信息来构建网址。
url_for('myApp', module='myModule')
答案 1 :(得分:0)
我使用了以下结构:
├── app.py
├── static
└── templates
├── Homep.html
└── index.html
我使用了HTML:
<a href="{{ url_for('index') }}"><button>Home</button></a>
对我来说很好。