Python 获得;“未找到”;使用蓝图时

Python 获得;“未找到”;使用蓝图时,python,html,flask,routes,Python,Html,Flask,Routes,使用蓝图时,我收到“在服务器上找不到请求的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=['

使用蓝图时,我收到“在服务器上找不到请求的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')
我的
\uuuu init\uuuu.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">
编辑

它适用于url localhost:5000/登录/ 但它不适用于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">

您的蓝图使用前缀。访问路由时,需要包含此前缀

由于使用了
url\u prefix='/login'
,因此需要查找
/login/
(用于
/
路由)和
/login/login/
(用于
/login/
路由)


请注意,如果
verify\u from\u database()
返回假值,则您的
login()
函数将返回
None
。您需要始终从视图返回有效响应(或引发异常)。然而,这不是您404错误的原因。

先生,请您不能理解您所说的内容,请详细解释我,我是这方面的初学者,但我不确定您不理解的部分。如果您显示(在您的问题中,您可以编辑它)您在浏览器中输入的导致404错误的URL,这会有所帮助。先生,我最初更新了我的查询,它适用于/login/,而不适用于/login//login/@learner:代码,如发布的一样,有效。我可以访问
/login/
/login/login/
URL(请注意,两个
登录部分之间只有一个斜杠)。
url\u for()
调用也可以工作并返回
/login/login/
.127.0.0.1---[31/Jul/2015 14:07:30]“POST/login/login/HTTP/1.1”500-它在网页中给出“内部服务器错误”,以上是控制台的输出
 <form action="{{url_for('app.addnew')}}" method="post">