Have a database which has a table. if the table is empty, it works in the standard mode(displays the names of the columns). After adding a new record, there are strange error(see Logs) when running on the local server, everything works fine. as a remote using pythonanywhere.com
File: requirements.txt
Flask==0.10.1
Flask-Admin==1.1.0
Flask-Login==0.2.11
Flask-SQLAlchemy==2.0
itsdangerous==0.24
Jinja2==2.7.3
MarkupSafe==0.23
SQLAlchemy==0.9.9
Werkzeug==0.10.1
WTForms==2.0.2
File: models.py
class User(db.Model):
id = db.Column(db.Integer, primary_key = True)
login = db.Column(db.String(8), unique = True, nullable = False)
email = db.Column(db.String(32), nullable = False)
password = db.Column(db.String(128), nullable = False)
File: ModelView.py
class MyModelView(sqla.ModelView):
def on_model_change(self, form, model):
if len(model.password):
model.password = generate_password_hash(form.password.data)
File: start.py
app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)
admin.add_view(ModelView.MyModelView(models.User, db.session,
name = u"users"))
File: /var/www/name_pythonanywhere_com_wsgi.py
import sys
activate_this = '/home/name/name/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
# add your project directory to the sys.path
project_home = u'/home/name/name/'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
# import flask app but need to call it "application" for WSGI to work
from core import app as application
logs:
2015-03-24 14:13:52,459 :Exception on /admin/user/ [GET]
Traceback (most recent call last):
File "/home/name/name/venv/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/home/name/name/venv/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/name/name/venv/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/name/name/venv/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/home/name/name/venv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/base.py", line 68, in inner
return self._run_view(f, *args, **kwargs)
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/base.py", line 354, in _run_view
return fn(self, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/flask_admin/model/base.py", line 1322, in index_view
actions_confirmation=actions_confirmation)
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/base.py", line 294, in render
return render_template(template, **kwargs)
File "/home/name/name/venv/lib/python2.7/site-packages/flask/templating.py", line 128, in render_template
context, ctx.app)
File "/home/name/name/venv/lib/python2.7/site-packages/flask/templating.py", line 110, in _render
rv = template.render(context)
File "/home/name/name/venv/lib/python2.7/site-packages/jinja2/environment.py", line 969, in render
return self.environment.handle_exception(exc_info, True)
File "/home/name/name/venv/lib/python2.7/site-packages/jinja2/environment.py", line 742, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/name/name/core/templates/list.html", line 2, in top-level template code
{% import 'admin/model/layout.html' as model_layout with context %}
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/templates/bootstrap2/admin/model/list.html", line 5, in top-level template code
{% import 'admin/actions.html' as actionlib with context %}
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/templates/bootstrap2/admin/master.html", line 1, in top-level template code
{% extends admin_base_template %}
File "/home/name/name/core/templates/admin_control.html", line 1, in top-level template code
{% extends 'admin/base.html' %}
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/templates/bootstrap2/admin/base.html", line 28, in top-level template code
{% block page_body %}
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/templates/bootstrap2/admin/base.html", line 56, in block "page_body"
{% block body %}{% endblock %}
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/templates/bootstrap2/admin/model/list.html", line 49, in block "body"
{% block model_list_table %}
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/templates/bootstrap2/admin/model/list.html", line 95, in block "model_list_table"
{% block list_row scoped %}
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/templates/bootstrap2/admin/model/list.html", line 101, in block "list_row"
{% block list_row_actions_column scoped %}
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/templates/bootstrap2/admin/model/list.html", line 103, in block "list_row_actions_column"
{% block list_row_actions scoped %}
File "/home/name/name/venv/lib/python2.7/site-packages/flask_admin/templates/bootstrap2/admin/model/list.html", line 111, in block "list_row_actions"
{{ delete_form.id(value=get_pk_value(row)) }}
File "/home/name/name/venv/lib/python2.7/site-packages/jinja2/environment.py", line 397, in getattr
return getattr(obj, attribute)
UndefinedError: 'delete_form' is undefined
Aucun commentaire:
Enregistrer un commentaire