Python windows下的flask 404错误

Python windows下的flask 404错误,python,flask,http-status-code-404,Python,Flask,Http Status Code 404,我正在尝试在windows 10下运行一个小型模块化应用程序。我已经创建了一个用于索引页面的模块。当单个应用程序正确运行并加载主页时,如果找不到404错误页面,我无法使其模块化 以下是我的目录结构: 我的文件: runserver.py import os #from app.models import User, Role from flask import Flask basedir = os.path.abspath(os.path.dirname(__file__)) from

我正在尝试在windows 10下运行一个小型模块化应用程序。我已经创建了一个用于索引页面的模块。当单个应用程序正确运行并加载主页时,如果找不到404错误页面,我无法使其模块化

以下是我的目录结构:

我的文件:

runserver.py

import os
#from app.models import User, Role
from flask import Flask


basedir = os.path.abspath(os.path.dirname(__file__))

from landingpage import app

app = Flask(__name__)


if __name__ == '__main__':
    app.run(debug=True)
   import os

from flask import Flask, render_template, session, redirect, url_for
from flask.ext.script import Manager
from flask.ext.bootstrap import Bootstrap
from flask.ext.moment import Moment
from flask.ext.wtf import Form
from wtforms import StringField, TextField, DateField, SubmitField
from wtforms.validators import Required
from wtforms.fields.html5 import DateField
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.admin.form.widgets import DatePickerWidget





basedir = os.path.abspath(os.path.dirname(__file__))
#print "basedir is %r " % (basedir)
app = Flask(__name__)


import views

class AnotherSearchForm(Form):
    place = StringField(default=u'Où voulez-vous aller?', validators=[Required()])
    checkin =TextField(default=u'checkin', validators=[Required()])
    checkout=TextField(default=u'checkout', validators=[Required()])
    dt = DateField('DatePicker', format='%Y-%m-%d')

    submit = SubmitField('Rechercher')
import os
basedir = os.path.abspath(os.path.dirname(__file__))
from flask import Flask, render_template, session, redirect, url_for, current_app


#from .. import db
#from ..models import User
#from ..email import send_email
import landingpage
from landingpage import app
#from .forms import AnotherSearchForm




@app.route('/', methods=['GET', 'POST'])
def index():

    form = AnotherSearchForm()
    return render_template('indexnew.html',
                           title='Home',
                           form=form)
\uuuu init\uuuuu.py

import os
#from app.models import User, Role
from flask import Flask


basedir = os.path.abspath(os.path.dirname(__file__))

from landingpage import app

app = Flask(__name__)


if __name__ == '__main__':
    app.run(debug=True)
   import os

from flask import Flask, render_template, session, redirect, url_for
from flask.ext.script import Manager
from flask.ext.bootstrap import Bootstrap
from flask.ext.moment import Moment
from flask.ext.wtf import Form
from wtforms import StringField, TextField, DateField, SubmitField
from wtforms.validators import Required
from wtforms.fields.html5 import DateField
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.admin.form.widgets import DatePickerWidget





basedir = os.path.abspath(os.path.dirname(__file__))
#print "basedir is %r " % (basedir)
app = Flask(__name__)


import views

class AnotherSearchForm(Form):
    place = StringField(default=u'Où voulez-vous aller?', validators=[Required()])
    checkin =TextField(default=u'checkin', validators=[Required()])
    checkout=TextField(default=u'checkout', validators=[Required()])
    dt = DateField('DatePicker', format='%Y-%m-%d')

    submit = SubmitField('Rechercher')
import os
basedir = os.path.abspath(os.path.dirname(__file__))
from flask import Flask, render_template, session, redirect, url_for, current_app


#from .. import db
#from ..models import User
#from ..email import send_email
import landingpage
from landingpage import app
#from .forms import AnotherSearchForm




@app.route('/', methods=['GET', 'POST'])
def index():

    form = AnotherSearchForm()
    return render_template('indexnew.html',
                           title='Home',
                           form=form)
视图.py

import os
#from app.models import User, Role
from flask import Flask


basedir = os.path.abspath(os.path.dirname(__file__))

from landingpage import app

app = Flask(__name__)


if __name__ == '__main__':
    app.run(debug=True)
   import os

from flask import Flask, render_template, session, redirect, url_for
from flask.ext.script import Manager
from flask.ext.bootstrap import Bootstrap
from flask.ext.moment import Moment
from flask.ext.wtf import Form
from wtforms import StringField, TextField, DateField, SubmitField
from wtforms.validators import Required
from wtforms.fields.html5 import DateField
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.admin.form.widgets import DatePickerWidget





basedir = os.path.abspath(os.path.dirname(__file__))
#print "basedir is %r " % (basedir)
app = Flask(__name__)


import views

class AnotherSearchForm(Form):
    place = StringField(default=u'Où voulez-vous aller?', validators=[Required()])
    checkin =TextField(default=u'checkin', validators=[Required()])
    checkout=TextField(default=u'checkout', validators=[Required()])
    dt = DateField('DatePicker', format='%Y-%m-%d')

    submit = SubmitField('Rechercher')
import os
basedir = os.path.abspath(os.path.dirname(__file__))
from flask import Flask, render_template, session, redirect, url_for, current_app


#from .. import db
#from ..models import User
#from ..email import send_email
import landingpage
from landingpage import app
#from .forms import AnotherSearchForm




@app.route('/', methods=['GET', 'POST'])
def index():

    form = AnotherSearchForm()
    return render_template('indexnew.html',
                           title='Home',
                           form=form)
应用程序正在正确运行,如下所示

$ python runserver.py
C:\Users\admin\Anaconda\lib\site-packages\flask_sqlalchemy\__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True to suppress this warning.
  warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True to suppress this warning.')
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
但在出现404错误时,未能加载主页indexnew.html

127.0.0.1 - - [22/Apr/2016 14:10:21] "GET / HTTP/1.1" 404 -

您似乎在
runserver.py
以及您的
\uuuu init\uuuuu.py
中定义了应用程序

我怀疑
runserver.py
正在运行此处定义的应用程序,而您的实际应用程序实际上正在设置,然后被您的
runserver.py
覆盖

您希望在
runserver.py
中导入
app
,并使用它,而不是再次定义它

换句话说,从
runserver.py
中删除这一行

app=Flask(名称)

更新 我有一个版本的代码,它有我建议的修复方法。您可以在GitHub上找到它:

我拿走了你的密码。它以两种方式失败:

  • 你导入的视图对我不起作用
  • 一旦我修好了,我就看到了404
  • 要修复代码,请执行以下操作:

  • 导入视图
    替换为
    导入着陆页.视图
    中的
    初始化
  • 如上所述,从
    runserver.py

  • 访问页面时,您是否在命令行上获得任何输出?只有上面的错误404。在我看来,views.py没有正确导入。但是所有其他导入,如landing.views或。视图还显示一个模块未找到错误。测试它,在底部放一行
    print
    ,看看它是否打印到控制台。@IPPOKRATISKARAKOTSOGLOU如果我的答案已经解决了您的问题,请随意标记为正确。它会帮助我,也会帮助其他人找到类似问题的答案。我很抱歉。我现在就做了。干得好。