2015-07-31 2 views
-1

Я получаю «Запрошенный 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 

EDIT

он работает на URL-адрес локального хоста: 5000/Войти/ , но он не работает на локальном хосте: 5000/Логин/Войти/

@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 is

<form action="{{url_for('app.addnew')}}" method="post"> 

ответ

1

В вашем проекте используется pr efix. При доступе к маршрутам вам нужно будет включить этот префикс.

Поскольку вы используете url_prefix='/login' вы должны искать /login/ (для / маршрута) и /login/login/ (для /login/ маршрута).

Обратите внимание, что функция login() возвращает None, если verify_from_database() возвращает ложное значение. Вам нужно всегда вернуть действительный ответ от представления (или вызвать исключение). Однако это не причина вашей ошибки 404.

+0

сэр, пожалуйста, не могу понять, что вы говорите, может, пожалуйста, объясните мне подробно, я начинаю с этого – learner

+0

Я не уверен, какую часть вы не понимаете. Это помогло бы, если бы вы показали (в своем вопросе, вы можете отредактировать его), какой URL-адрес вы ввели в свой браузер, который дал вам ошибку 404. –

+0

sir я обновил свой запрос изначально, он работал для/login/и не работал для/login // login/ – learner