2016-04-22 5 views
1

窓10の下で小さなフラスコのモジュール式アプリケーションを実行しようとしています。私は、索引ページをランチするモジュールを作成しました。 1つのアプリケーションが正常に動作し、ホームページを読み込む間、私はそれをモジュール化して404エラーページが見つからないようにすることはできません。ここで窓の下でフラスコ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 

が、与えhttp://127.0.0.1:5000/に indexnew.htmlホームページをロードするために失敗しています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によって上書きされている間runserver.pyが、そこに定義されたアプリケーションを実行していると思われるrunserver.pyにだけでなく、あなたの__init__.py

にアプリが定義されているように見えます。

apprunserver.pyにインポートして、それを再度定義するのではなく、使用します。言い換えれば

runserver.pyからこの行を削除...

app = Flask(__name__)

更新

私が提案する修正プログラムがあり、あなたのコードのバージョンを持っています。あなたはGitHubの上でそれを見つけることができます:私はあなたのコードを取っ

https://github.com/martinpeck/stackoverflow_example_1

。これは、2つの方法で失敗しました:

:私はあなたのコードを修正するには404

を見た、という固定のだいったんビューの

  1. インポートは私
  2. のために動作しませんでした
    1. からapp = Flask(__name__)を削除し、上記で示唆したよう__init__.py
    2. import landingpage.viewsimport viewsを置き換えます
+0

ありがとうございました。 –

+0

@IPPOKRATISKARAKOTSOGLOUあなたの問題を解決した場合は、私の答えを正しいとマークしてください。それは私を助け、それは他の人が同様の問題に対する答えを見つけるのを助けるでしょう。 –

+0

大変申し訳ございません。私は今それをやった。よくやった。 –

関連する問題