如何解决“ NameError:未定义名称'default'”的问题?

时间:2019-08-06 23:33:51

标签: python flask sqlalchemy

我正在使用flask和SQLalchemy建立一个简单的数据库,但是我为我的班级设置的属性无法识别“默认”名称。

我正在使用Python 3.7.4,Flask 1.1.1和Flask-SQLALchemy 2.4。我尝试重新安装SQLAlchemy,并仔细检查语法。

这是我正在使用的模块:

from flask import Flask, render_template, url_for, flash, redirect
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
from forms import Registrationform, Loginform, BudgetEntry

这是我的课程之一

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), nullable=False, unique=True)
    email = db.Column(db.String(120), nullable=False, unique=True)
    image_file = db.Column(db.String(20), nullable=False, default=default.jpg)
    password = db.Column(db.String(20), nullable=False)
    budgets = db.relationship("Budget", backref="author", lazy=True)

现在,当我进入命令行并尝试导入数据库时​​,它给了我一个错误:

NameError: name 'default' is not defined

1 个答案:

答案 0 :(得分:1)

如果(根据您的标题声明)您收到错误'default'未定义,则是因为当前您有:

image_file = db.Column(db.String(20), nullable=False, default=default.jpg)

想必你要

image_file = db.Column(db.String(20), nullable=False, default="default.jpg")