我得到"在服务器上找不到请求的URL。如果您手动输入了URL,请检查您的拼写,然后重试。"使用蓝图时
我的app.py代码如下,请看一下
__author__ = 'mullapudi'
from flask import Flask,request,redirect,Blueprint,render_template
blueprint = Blueprint('app', __name__, url_prefix='/login')
@blueprint.route('/', methods=['GET', 'POST'])
def admin_login():
# Located at https://yourdomain.com/login
return render_template('admin_login.html')
@blueprint.route('/login/', methods=['GET', 'POST'])
def login():
# Located at https://yourdomain.com/login/login
return render_template('admin_login.html')
我的__init__.py
代码位于
from flask import Flask,request,Blueprint
from app import blueprint
app = Flask(__name__)
app.register_blueprint(blueprint)
app.run()
我的html代码如下,我的表单就像这样
<form action="{{url_for('app.login')}}" method="post">
现在我的代码有问题,请帮助我,我的结构是
/sample ->>project name
/static
/templtes-->>html codes are here
__init__.py
app.py
修改
它适用于url localhost:5000 / login / 但它不适用于localhost:5000 / login / login /
@blueprint.route('/login/', methods=['GET', 'POST'])
def login():
# Located at https://yourdomain.com/login/login
un = request.form['un']
pwd = request.form['pwd']
print un,pwd
if verify_from_database(un,pwd):
print "admin authentication successful"
return render_template('adminPage1.html')
@blueprint.route('/addnew/', methods=['GET', 'POST'])
def adminPage1():
# Located at https://yourdomain.com/login/addnew
return render_template('example.html')
和adminPage1.html的形式是
<form action="{{url_for('app.addnew')}}" method="post">
答案 0 :(得分:1)
您的蓝图使用前缀。访问路由时,您需要包含此前缀。
由于您使用url_prefix='/login'
,因此您需要查找/login/
(针对/
路线)和/login/login/
(针对/login/
路线)。
请注意,如果login()
返回false值,则None
函数似乎会返回verify_from_database()
。您需要始终从视图中返回有效响应(或引发异常)。这不是导致404错误的原因。