从HTML模板中的sqlite获取displayig数据中的错误

时间:2018-01-11 12:40:46

标签: python django sqlite

我正在尝试将数据库中的图像显示为HTML模板,但我收到导入错误:

return Database.Cursor.execute(self, query)
django.db.utils.OperationalError: no such table: Image

这里是文件:models.py

来自django.db导入模型

from django.contrib.auth.models import User

# Create your models here.

    class Image(models.Model):
        user = models.ForeignKey(User, on_delete=models.CASCADE)
        image = models.FileField(upload_to='post_image', blank=True)

views.py:

from django.shortcuts import render
from django.db import connection
from accounts.models import Image
from django.contrib.auth.models import User
# Create your views here.
def home(request):
    cursor = connection.cursor()
    cursor.execute('''SELECT image FROM Image where 'user'="admin"''')
    row = cursor.fetchone()
    print (row)
    args = {'row':row}
    return render(request, 'accounts/home.html', args)

home.html的:

{% extends 'base.html' %}
<h1>Home</h1>
<html>
    <head>
    <title>HOME</title>
        {% block head %}
        <title>HOME</title>
        {% endblock %}
    </head>
        <body>
        <h2 align="center"> SQL Queries display </align> </h2>

    {% block content %}

    {{ row }}

    {% endblock %}

            {% block body %}
            <h1>Base</h1>
            {% endblock %}
        </body>
</html>

我正在将数据存储在文件系统中,我已为用户上传了两张图片&#39; admin&#39;。

1 个答案:

答案 0 :(得分:1)

由于您的应用程序被命名为&#34; accounts&#34;,Django可能正在创建表格为&#34; accounts_image&#34;,结果查询应为:

"SELECT image FROM accounts_image WHERE ..."

为什么不使用ORM获取数据?这对你来说更容易:

row = Image.objects.get(user__username="admin")

另外,请记住&#34;用户&#34; Image模型中的字段是ForeignKey,这意味着您无法查询user =&#34; admin&#34;。