2016-04-22 56 views
1

我想在Windows 10下運行一個小燒瓶模塊化應用程序。我已經創建了一個模塊來中餐索引頁面。雖然作爲一個單一的應用程序運行正確,並加載主頁,我不能讓它模塊化找到404錯誤頁面。在windows下燒瓶404錯誤

這裏是我的目錄結構:

Application directory structure

我的文件:

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) 

__init__.py

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') 

views.py

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 

但未能加載主頁indexnew.htmlhttp://127.0.0.1:5000/給404錯誤:

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

您在訪問頁面時是否在命令行上獲得任何輸出? –

+0

只有上面的錯誤404。 –

+0

對我來說,它看起來像views.py沒有正確導入。 –

回答

2

你似乎對runserver.py定義應用程序,以及在你的__init__.py

我懷疑runserver.py運行其中定義的應用程序,而您的實際應用實際上是正在建立,然後由您runserver.py覆蓋。

您想在runserver.py中導入app並使用它,而不是再次定義它。

換句話說,從runserver.py刪除此行...

app = Flask(__name__)

更新

我有一個版本的代碼,具有修復,我建議的。你可以找到它在GitHub上:

https://github.com/martinpeck/stackoverflow_example_1

我把你的代碼。它沒有在兩個方面:

  1. 您的意見進口並沒有爲我
  2. 工作,有一次,我固定的,我看到了404

要修復代碼:

  1. __init__.py
  2. 如上建議用import landingpage.views替換import views,從除去
+0

謝謝你,固定的錯誤。 –

+0

@IPPOKRATISKARAKOTSOGLOU隨意我的答案標記爲正確的,如果它已經能解決問題。它會幫助我,這會幫助別人找到答案類似的問題。 –

+0

我很抱歉。我現在就做了。做得好。 –