无法从mysql检索数据到Django中的html模板(PyCharm)

问题描述 投票:1回答:1

我希望有人可以在这里帮助我;在学习网络开发的这一部分中停留了一段时间。我在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')

在模型中,我尝试了在该论坛上阅读的解决方法,但是它只是识别了“对象”(在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')
]
html mysql django pycharm
1个回答
0
投票

为什么不显示它,是您没有将上下文传递给模板。

def pictures(request):
    obj = AirplanePics.objects.get(id=1)
    context = {
        'datax': obj,
    }
    return render(request, 'pictures.html', context)

一旦删除图片并创建另一个图片,ID将被更改,因此最好调用。您的第一个模型足以胜任这项工作。

obj = AirplanePics.objects.first()
© www.soinside.com 2019 - 2024. All rights reserved.