1

目前在本地环境中工作,但在推送到 heroku 并访问我的实时页面后,我在 / 处收到 OperationalError。看起来我根本无法运行任何 for 循环。我只想补充一下,我正在做 djangogirl 教程并且是新手。

OperationalError at / no such table: blog_post

模板渲染期间出错

在模板 /app/blog/templates/blog/post_list.html 中,第 5 行出现错误({% for post in posts %})

这是 post_list.html

{% extends 'blog/base.html' %}

{% block content %}
    {% for post in posts %}
        <div class="post">
            <div class="date">
                {{ post.published.date }}
            </div>
            <h1><a href="{% url 'blog.views.post_detail' pk=post.pk %}">{{ post.title }}</a></h1>
            <p> {{ post.text|linebreaks }}</p>
        </div>
    {% endfor %}
{% endblock content %}

这是我的 .gitignore:

myvenv
__pycache__
staticfiles
local_settings.py
db.sqlite3

附加信息: 请求方法:GET 请求 URL: https ://girlsblog.herokuapp.com/ Django 版本:1.7.7 异常类型:OperationalError 异常值:
无此类表:blog_post 异常位置:/app/.heroku/python/lib /python2.7/site-packages/django/db/backends/sqlite3/base.py 在执行中,第 485 行 Python 可执行文件:/app/.heroku/python/bin/python Python 版本:2.7.9 Python 路径:
['/app', '/app/.heroku/python/bin', '/app/.heroku/python/lib/python2.7/site-packages/setuptools-15.2-py2.7.egg', '/ app/.heroku/python/lib/python2.7/site-packages/pip-6.1.1-py2.7.egg', '/app', '/app/.heroku/python/lib/python27.zip' , '/app/.heroku/python/lib/python2.7', '/app/.heroku/python/lib/python2.7/plat-linux2', '/app/.heroku/python/lib/python2. 7/lib-tk'、'/app/.heroku/python/lib/python2.7/lib-old'、'/app/.heroku/python/lib/python2.7/lib-dynload'、'/app /.heroku/python/lib/python2.7/site-packages'] 服务器时间:Mon, 18 May 2015 19:20:07 -0500

4

2 回答 2

1

您是否在 heroku 上运行了初始迁移?

$ heroku run bash
$ ./manage.py migrate
于 2015-05-19T00:59:00.317 回答
0

我在 Heroku 应用程序中遇到了完全相同的错误。

blog/settings.py中添加它会修复它。

这将从 $DATABASE_URL 更新数据库配置。

import dj_database_url
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)

来源: https ://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Deployment

于 2021-09-05T00:07:53.803 回答