【问题标题】:404 Error The requested URL was not found on the server404错误在服务器上找不到请求的URL
【发布时间】:2014-12-31 12:09:50
【问题描述】:

我有一个基于 miguelgrinberg 教程的应用程序,它包含:

flask
 run.py
 config.py
 db_migrate.py
 db_craete.py
 db_repository
 app
     __init__.py
     viw.py
     model.py
     form.py
     tmp
     static

我对模型进行了一些更改,然后使用 ./db_migrate.py 更新数据库但是我得到了这个错误

Traceback (most recent call last):
  File "run.py", line 2, in <module>
    from app import app
  File "/home/peg/flask/app/ __ init __.py", line 13, in <module>
    from app import view, model

所以我从应用程序导入视图中删除(__ init __.py)中的模型行并运行 db_migrate.py 但是当我运行应用程序时出现 404 错误,那么问题出在哪里,我该如何解决?

__ 初始化 __.py

#!flask/bin/python
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager

app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)
lm = LoginManager()
lm.init_app(app)
lm.login_view = 'login'

from app import view, model # should delete this line to solve error Traceback 

db_migrate.py

  #!flask/bin/python
    import imp
    from migrate.versioning import api
    from app import db # Error here for traceback
    from config import SQLALCHEMY_DATABASE_URI
   .... other stuff....

..

view.py

@lm.user_loader
def load_user(id):
    return User.query.get(int(id))


@app.before_request
def before_request():
    g.user = current_user


@app.route('/')
@app.route('/index')
@login_required
def index():
    user = g.user
    return render_template('index.html',
            user = user,
            title ='Home')

【问题讨论】:

  • 请包含整个回溯。

标签: python flask migration flask-sqlalchemy flask-login


【解决方案1】:

尝试将目录从“tmp”更改为 Flask 默认的“templates”。

如果必须,你可以像这样覆盖 Flask 的默认模板目录名称。

在您的 __init__.py 文件中

app = Flask(__name__, template_folder='tmp')

source | Flask API .10 - Application Object

【讨论】:

    猜你喜欢
    • 2017-10-31
    • 2017-09-11
    • 2023-04-08
    • 2014-02-02
    • 2014-09-27
    • 2017-01-25
    • 2014-03-26
    • 2014-11-19
    • 1970-01-01
    相关资源
    最近更新 更多