我正在尝试将数据库中的图像显示为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)
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)
{% 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;。
答案 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;。