首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从django中的mysql to html模板检索数据(PyCharm)

问无法从django中的mysql to html模板检索数据(PyCharm)
EN

Stack Overflow用户
提问于 2020-06-05 10:13:06
回答 1查看 75关注 0票数 1

我希望有人能在这里帮助我;我已经在学习web开发的这一部分卡住了一段时间。我在PyCharm社区版中使用django。Apache和MySQL的一切似乎都运行得很好。我在制作html模板的阶段,我能够将数据登录到MySQL数据库中。我想将数据库中的数据检索到模板中,但它就是不能工作,并且我收到一条警告消息:“类'…‘的未解析属性引用'…'”。在PyCharm中定义视图时。以下是我的文件:

代码语言:javascript
复制
# 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类中)并删除了警告

代码语言:javascript
复制
# 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
代码语言:javascript
复制
# 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

我只是希望能够向作者展示(例如):

代码语言:javascript
复制
# pictures.html

<h1>{{datax.author}}</h1>

..。但是,当我运行服务器时,页面没有显示任何内容。另外:

代码语言:javascript
复制
# urls.py

from django.urls import path
from .views import pictures, home

urlpatterns = [
    path('pictures/', pictures, name='pictures'),
    path('home/', home, name='home')
]
EN

回答 1

Stack Overflow用户

发布于 2020-06-05 10:27:44

不显示它的原因是,您没有将上下文传递给模板。

代码语言:javascript
复制
def pictures(request):
    obj = AirplanePics.objects.get(id=1)
    context = {
        'datax': obj,
    }
    return render(request, 'pictures.html', context)

删除图片并创建另一张图片后,id将会更改,因此最好调用。你的第一个模型足以完成这项工作。

代码语言:javascript
复制
obj = AirplanePics.objects.first()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62207019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档