我希望有人能在这里帮助我;我已经在学习web开发的这一部分卡住了一段时间。我在PyCharm社区版中使用django。Apache和MySQL的一切似乎都运行得很好。我在制作html模板的阶段,我能够将数据登录到MySQL数据库中。我想将数据库中的数据检索到模板中,但它就是不能工作,并且我收到一条警告消息:“类'…‘的未解析属性引用'…'”。在PyCharm中定义视图时。以下是我的文件:
# views.py
from django.shortcuts import render
from .models import AirplanePics # AirplanePics is a model
def pictures(request):
obj = AirplanePics.objects.get(id=1)
context = {
'datax': obj,
}
return render(request, 'pictures.html')在models中,我尝试了一个我在这个论坛上读到的变通方法,但是它只识别了'objects‘(在views.py类中)并删除了警告
# models.py
from django.db import models
class AirplanePics(models.Model):
author = models.CharField(max_length=30)
title = models.CharField(max_length=30)
description = models.TextField()
def __str__(self):
return self.author# models.py (with the workaround)
from django.db import models
class BaseModel(models.Model):
objects = models.Manager()
class Meta:
abstract = True
class AirplanePics(BaseModel):
id = models.AutoField(primary_key=True)
author = models.CharField(max_length=30)
title = models.CharField(max_length=30)
description = models.TextField()
def __str__(self):
return self.author我只是希望能够向作者展示(例如):
# pictures.html
<h1>{{datax.author}}</h1>..。但是,当我运行服务器时,页面没有显示任何内容。另外:
# urls.py
from django.urls import path
from .views import pictures, home
urlpatterns = [
path('pictures/', pictures, name='pictures'),
path('home/', home, name='home')
]发布于 2020-06-05 10:27:44
不显示它的原因是,您没有将上下文传递给模板。
def pictures(request):
obj = AirplanePics.objects.get(id=1)
context = {
'datax': obj,
}
return render(request, 'pictures.html', context)删除图片并创建另一张图片后,id将会更改,因此最好调用。你的第一个模型足以完成这项工作。
obj = AirplanePics.objects.first()https://stackoverflow.com/questions/62207019
复制相似问题