Can';t使用SQLAlchemy在SQL数据库中添加一个项目,用于使用Python的Flask web应用程序。我该如何着手获得更多关于它的原因的详细信息';它不工作了?

Can';t使用SQLAlchemy在SQL数据库中添加一个项目,用于使用Python的Flask web应用程序。我该如何着手获得更多关于它的原因的详细信息';它不工作了?,python,html,flask,sqlalchemy,Python,Html,Flask,Sqlalchemy,所以我这里有点问题。一般来说,我对Flask和web开发人员都是新手。我正试图使用SQLAlchemy在数据库中添加一个新项,但由于某些原因,它不起作用。这是我的第一个实践项目,非常基础。你可能会发现很多问题;违反最佳实践规则的事情。我理解,但请宽容一点。我只是想让最基本的东西发挥作用,然后我会改进代码 以下是数据库模型: class TaskType(db.Model): id = db.Column(db.Integer, primary_key=True, autoincremen

所以我这里有点问题。一般来说,我对Flask和web开发人员都是新手。我正试图使用SQLAlchemy在数据库中添加一个新项,但由于某些原因,它不起作用。这是我的第一个实践项目,非常基础。你可能会发现很多问题;违反最佳实践规则的事情。我理解,但请宽容一点。我只是想让最基本的东西发挥作用,然后我会改进代码

以下是数据库模型:

class TaskType(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=False, unique=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    name = db.Column(db.Text(255))
    color_code = db.Column(db.Text, default='NULL')
    creation_timestamp = db.Column(db.DateTime, default=datetime.utcnow())
    last_update_timestamp = db.Column(db.DateTime, default='NULL')

    def __repr__(self):
        return '<Task type %r>' % self.id
以下是HTML表单:

{% extends 'base.html' %}

{% block head %}
<title>Task Manager</title>
{% endblock %}

{% block body %}
<div class="content" style="padding: 50px">
    <h1>Task types</h1>

    <table id="tasks_types">
        <tr>
            <th>Name</th>
            <th>Color</th>
        </tr>
        {% for task_type in task_types %}
            <tr>
                <td>{{ task_type.name }}</td>
                <td>
                    <div class="color-box" style="background-color: {{ task_type.color_code }} ;"></div>
                    </div>
                </td>
                <td>
                    <a href="">Edit</a>
                    <br>
                    <a href="">Delete</a>
                </td>
            </tr>
        {% endfor %}
        <tr>
            <form action="{{ url_for('options_tasks_types') }}" method="POST">
                <td>
                    <input type="text" name="name" id="name" placeholder="Task type name">
                </td>
                <td>
                    <input type="text" name="color_code" id="color_code" placeholder="Color code">
                </td>
                <td>
                    <input type="submit" value="Add new task type">
                </td>
            </form>
        </tr>
    </table>
</div>
{% endblock %}
{%extends'base.html%}
{%block head%}
任务管理器
{%endblock%}
{%block body%}
任务类型
名称
颜色
{任务类型%中的任务类型为%}
{{task_type.name}

{%endfor%} {%endblock%}
出于某种原因,我一直收到消息“无法创建任务”。不幸的是,我真的不知道为什么会发生这种异常。有没有办法获得更详细的错误消息

我已经尝试删除try和except语句来获取Flask错误消息,但它并不详细

我得到的只是:

内部服务器错误 服务器遇到内部错误,无法完成您的请求。服务器过载或应用程序中存在错误

我有一种感觉,问题可能来自我的模型,其中一列的参数阻止将TaskType项添加到数据库中,但我不知道它是什么


有人能帮忙吗?

您正在将表中的一列
上次更新\u时间戳
分配给
'NULL'
。它只接受DateTime对象


据我所知,您传递的是带有引号的
'NULL'
。所以它是一根弦。尝试传入DateTime对象或
null

如果要发布完整的堆栈跟踪,可以在app.run()中使用debug=True查看堆栈trace@CodeYard我知道了,也许能帮上忙。sqlalchemy.exc.StatementError:(builtins.TypeError)SQLite DateTime类型仅接受Python DateTime和date对象作为输入。日期的格式是这样的(2020、5、12、22、44、36)“我如何继续获得关于它为什么不工作的更多细节?”-不要使用裸
,除了:
,它捕获所有内容,包括
SystemExit
和中断。它有时用于处理清理(回滚),但在这种情况下,您总是会重新引发原始异常,而不是抑制它。当您没有实际处理错误时捕获异常通常不是一个好主意,并且会妨碍调试,如图所示。是的,好的,是“NULL”导致了问题。
{% extends 'base.html' %}

{% block head %}
<title>Task Manager</title>
{% endblock %}

{% block body %}
<div class="content" style="padding: 50px">
    <h1>Task types</h1>

    <table id="tasks_types">
        <tr>
            <th>Name</th>
            <th>Color</th>
        </tr>
        {% for task_type in task_types %}
            <tr>
                <td>{{ task_type.name }}</td>
                <td>
                    <div class="color-box" style="background-color: {{ task_type.color_code }} ;"></div>
                    </div>
                </td>
                <td>
                    <a href="">Edit</a>
                    <br>
                    <a href="">Delete</a>
                </td>
            </tr>
        {% endfor %}
        <tr>
            <form action="{{ url_for('options_tasks_types') }}" method="POST">
                <td>
                    <input type="text" name="name" id="name" placeholder="Task type name">
                </td>
                <td>
                    <input type="text" name="color_code" id="color_code" placeholder="Color code">
                </td>
                <td>
                    <input type="submit" value="Add new task type">
                </td>
            </form>
        </tr>
    </table>
</div>
{% endblock %}